Ver la Versión Completa : Liberar objetos que se han añadido a un TList
Para liberar objetos que se han añadido a un TList, ¿si eliminamos el tlist? tambien se liberan los objetos creados. O por lo contrario tenemos que recorrer el TList y liberarlos uno a uno
roman
06-10-2004, 15:21:14
Para liberar objetos que se han añadido a un TList, ¿si eliminamos el tlist? tambien se liberan los objetos creados.
No
O por lo contrario tenemos que recorrer el TList y liberarlos uno a uno
Sí. O bien usar un TObjectList de la unidad Contnrs que es similar al TList pero con la opción de sí liberar los objetos.
// Saludos
¿ Roman, la forma correcta de hacerlo seria esta ?
Lista: TList;
var
Obj: TClaseObjetosDeLaLista;
begin
Obj:= Lista.Items[i];
Obj.Free;
Lista.Delete(i);
Lista.Capacity := Lista.Count - 1;
walrus
07-10-2004, 18:47:54
Yo lo haría así:
for i:= Pred( Lista.Count ) downto 0 do TObject( Lista[i] ).Free;
Lista.Clear;
Lista.Capacity := 0;
Saludos.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.