Ver Mensaje Individual
  #10  
Antiguo 28-02-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
A ver, no nos confundamos. El método Lista.Delete borra un elemento de la lista, pero cada elemento es un puntero y Delete no libera la memoria a la que apunta el item, es decir, el registro creado con New. Por eso es necesario Dispose.

Igualmente, el método Lista.Clear únicamente borra cada item, pero sin liberar la memoria a la que apunta cada uno.

Por eso escribí: antes de destruir la lista. Es decir, tienes que hacer el Dispose de cada elemento, y posteriormente llamar a Lista.Free para borrar la lista y todos sus elementos.

En resumen: una cosa es el puntero y otra cosa es el bloque al que apunta el puntero.

// Saludos
Responder Con Cita