View Single Post
Old 04-04-2007, 07:57   #4
swarm
Senior Member
 
L'Avatar di swarm
 
Iscritto dal: Jan 2003
Città: Castellammare di Stabia (NA)
Messaggi: 2031
Quote:
Originariamente inviato da icecube_HU Guarda i messaggi
Ciao !
Ho letto l'articolo della MS, conosco la tecnica, ma direi che NON si applica al tuo caso ! Li' Infatti si parla di manipolazione di grandi stringhe (ciascuna "pesante" svariati Kb), ma tu hai necessita' di manipolare molte stringhe, ma di dimensioni "normali" (stanno in una cella di Excel).

Comunque quella tecnica puo' servire ad aumentare la velocita' di elaborazione e a ridurre la "garbage collection", non a ridurre l'occupazione di memoria !

Quindi non farti troppi problemi e continua tranquillamente ad utilizzare l'operatore '&' per la concatenazione delle stringhe.
ciao

grazie per la risposta

il fatto è che volevo cmq cercare di ottimizzare la memoria,
il codice che ho postato sopra sta all'interno di un ciclo che convolge tutto lo sheet (che per me può arrivare anche a 65536 righe)
non riesco cmq a capire perchè, quando effettuo l'assegnazione della stringa construita da me
Codice:
ActiveSheet.Cells(i - 1, colScenario).Value = strTemp
viene allocata memoria, ma quando cancello la riga dopo così
Codice:
Rows(i).Delete
la memoria non viene rilasciata, e quindi aumenta a dismisura....

ho provato anche a disabilitare la modalità tagliaCopia o a svuotare ogni volta manualmente la clipboard, ma nulla...

mah
__________________
ho fatto affari con: na decina di anime
swarm è offline   Rispondi citando il messaggio o parte di esso