Fórum Liberar memória no Tlist #265978
19/01/2005
0
Bem! Eu gostaria de saber como liberar a memória ocupada por cada objeto(item) do TList? Ou seja.
Eu retiro este elemento da lista e logo em seguida libero a memória???
...eu olhei a documentação do delphi mas não entendi quando fala em setar a lista na propriedade capacity.
Por Ex: (sei la)
Obj:= Lista.items[0];
Obj.free;
Alguem pode me dar uma dica como retirar o elemento da lista e logo em seguida liberar a memória q o mesmo ocupava na lista.
vlw!
Fernando Piccini
Curtir tópico
+ 0Posts
19/01/2005
Massuda
Gostei + 0
19/01/2005
Fernando Piccini
1)Gostaria de retirar o 1º elemento da lista certo;
O Tlist tem ométodo delete mas ele não libera a memória ocupada por este objeto.
E eu gostaria que fosse retirado e liberado a memória
obrigado pela atenção
Gostei + 0
19/01/2005
Massuda
Para fazer o que você descreveu, usando um TList, é exatamente o que você escreveu:
var Obj: TObject; Lista: TList; //... Obj:= TObject(Lista.Items[0]); Lista.Items[0] := nil; Obj.Free;
Talvez fosse interessante você considerar o uso de um TObjectList ao invés de um TList... O TObjectList é uma lista de TObjects e pode (se você assim desejar) destruir automaticamente os objetos contidos na lista quando eles não forem mais necessários.
Gostei + 0
19/01/2005
Massuda
var Obj: TObject; Lista: TList; //... Obj:= TObject(Lista.First); Lista.Remove(Obj); Obj.Free;
Gostei + 0
19/01/2005
Fernando Piccini
ah! Hoje tb comprei a revista do clubeDelphi!
Ela eh muito boa! Soh o preço neh meio salgado! heheheheh
abraço a todos
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)