Transtyper element d'1 variable pointant sur TList?
Salut, j'ai réussi à transtyper mais je pense qu'il y a plus simple.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
program Vecteur;
{$APPTYPE CONSOLE}
uses
SysUtils,
Classes,
Vector in 'Vector.pas';
var
liste: TList;
i: integer;
objet: TObject;
begin
liste := TList.Create;
try
liste.Add( TO1.Create );
liste.Add( TO2.Create );
objet := liste.Items[0]; // N'y a t'il pas plus simple?
if ( objet is TO1) then
(objet as TO1).JeTravaillePour01;
finally
liste.Clear; //Suffisant pour supprimer tous les objets de la liste?
end;
end. |
J'aimerais aussi savoir si le " liste.clear " est bien suffisant pour libérer les objets de la mémoire?
merci d'avance !
Re: Transtyper un element d'une variable pointant sur un TLi
Citation:
Envoyé par Cornell
J'aimerais aussi savoir si le " liste.clear " est bien suffisant pour libérer les objets de la mémoire?
Non, ceci ne libère pas les éléments. Il faut le faire AVANT. Ensuite, Clear ne fait que vider la liste mais ne détruit pas l'objet. Dans ton cas c'est Free qu'il faut appeler ( toujours après avoir détruit les objets ).