Salut à tous
Je me pose cette question:
Je crée une TList qui contient des pointeurs sur des variables. J'en crée une autre qui contient les pointeurs de quelques unes de ces variables.
Si je fais un Clear sur la première TList, est-ce nécessaire de le faire aussi sur l'autre? Parce que normalement, avec clear, les pointeurs ainsi que les variables sur lesquelles ils pointent sont libérées.
Exemple:
Dans cet exemple, List1.Clear efface tous les pointeurs et ce qu'ils contienent... Mais si je fais List2.Clear juste après, List2 va resupprimer les objets non?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 var i:integer; p:^integer; List1,List2:TList; begin List1:=TList.Create; List2:=TList.Create; for i:=0 to 100 do begin new(p); p^:=i; List1.Add(p); //Ajouter chaque valeur de i if (i mod 2)=0 then List2.Add(p); // Si i est pair, l'ajouter dans List2 end; List1.Clear; List2.Clear; List1.Free; List2.Free; end;
Partager