Bonjour,
j'ai un petit problème avec les objets et les pointers. Voici un exemple de code que je souhaite faire fonctionner :
Le problème que j'ai remarqué, c'est que MaListe et OldListe pointe sur le même pointeur et le problème c'est que la fonction MaProcedureAppelee utilise la variable MaListe. Ainsi, il suffit de modifier le pointer pour que MaProcedureAppelee traite la nouvelle liste.
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
20
21 Unit Essai; interface ... var MaListe : TStringList ; implementation procedure MaProcedure ; var OldListe : TStringList ; begin OldListe := MaListe ; MaListe := TStringList; MaProcedureAppelee ; MaListe.Free ; MaListe := OldListe ; end ;
C'est ici un cas simple. Pour expliquer le pourquoi de ce choix c'est qu'en réalité j'ai de multiple fonction qui joue avec MaListe.
J'ai essayer d'utiliser un pointeur du type ^TStringList mais lorsque je fais MaListe^.Add('coucou'); ça plante.
Quelqu'un a-t-il une idée ? Je n'ai rien trouvé sur le net à ce sujet.
Partager