Bonjour, j'ai un soucis avec une liste de pchar. Je les crées avec StrAlloc et les stocke dans une Tlist. le problème vient lorsque j'essaie de libérer les pointeurs avec strdispose. j'ai une exception de type EAccesViolation.
Quelqu'un pourrait me dire pourquoi .
voici le code
fList contient bien les pointeurs et ceux ci pointent bien sur les chaines de caractères.
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 procedure TForm1.Button1Click(Sender: TObject); Var P: pchar; begin P := Stralloc( 6); P := 'Hello'; fList.Add(P); end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); Var Index : Integer; P : Pchar; begin while fList.Count > 0 do Begin P := fList.Extract(fList.Last); strdispose(P); //<---- Problème end; fList.Free; end;
Partager