Salve a tutti, esiste un metodo più veloce del seguente per caricare una msflexgrid in VB6?
i dati per il caricamento vengono presi da un foglio excel che a sua volta è collegato in modalità DDE ad altri programmi.
Le celle del foglio excel che vengono aggiornate in tempo reale sono a volte anche superiori a 255 (per questo motivo uso excel, non mi và in time out come potrebbe e come succede per VB6 se uso un valore supoeriore a 255)
per cui il classico codice potrebbe essere
premessa, impostati i set per alilitare l'oggetto excel per l'apertura e lettura dei dati e calcolato il valore del ciclo pari al numero di dati da leggere del foglio excel
for I=1 to ciclo '(superiore a 255)
msflexgrid.textmatrix(i,1)=foglio(1).cells(i,1)
msflexgrid.textmatrix(i,2)=foglio(1).cells(i,3)
msflexgrid.textmatrix(i,3)=foglio(1).cells(i,7)
msflexgrid.textmatrix(i,4)=foglio(1).cells(i,15)
msflexgrid.textmatrix(i,5)=foglio(1).cells(i,11)
msflexgrid.textmatrix(i,6)=foglio(1).cells(i,23)
next i
così facendo, quindi dovendo caricare a volte anche 1000-2000, il processo è relativamente lento, se poi ho bisogno di aggiornare la msflexgrid con intervalli di 1 secondo tramite un timer il tutto risulta molto lento e spesso con blocchi momentanei del pc e di tutte le altre procedure che sia il pc che il programma dovrebbero eseguire, esite un metodo alternativo per visualizzare questi dati dal foglio excel. (ho provato anche ad associare ad ogni cella della msflexgrid una label che legge i dati dal foglio excel in dde e aggiorna la cella della msflexgrid solo quando cambia il dato, ma per via del limite delle 255 dde di VB6 e comunque per la grossa mole di dati da movimentare mi và in timeout e blocca comunque il pc e il programma). Esiste qualche altro metodo più efficace e veloce per risolvere questò ?
Mille Grazie