Ver Mensaje Individual
  #2  
Antiguo 01-03-2009
Avatar de DarkMan
DarkMan DarkMan is offline
Miembro
 
Registrado: jul 2006
Posts: 102
Reputación: 18
DarkMan Va por buen camino
Los objetos en delphi realmente son punteros. Esto quiere decir que cuando realizas
Código Delphi [-]
tabla[Length(tabla)-1] := lista;
estas apuntando con las dos variables a la misma posición en memoria, y en consecuencia al liberar uno, estas liberando el otro.

La solución es no borrar los items de lista, sino crear una nueva lista:
Código Delphi [-]
// Cada vez que se ejecuta el 'lista.Clear();' se pierde lo antes almacenado en tabla[].
 Lista:= TLista.create;
Espero que lo hayas entendido,

un saludo.
__________________
"La recompensa de una buena acción está en haberla hecho"
Responder Con Cita