Bonjour à tous,
Image 5 est un TImage pour stopper la boucle.
lorsque je clique sur Image5, je mets son Tag à 1, et décharge les objets créés, sauf que, la libération de StringListTravail déclenche la classe d'exception EInvalidPointer avec la message 'Opération de pointeur incorrecte'.
Je pense que c'est peut être parce que je demande à StringListTravail de travailler comme si c'était une autre liste => StringListTravail := StringListxxxxx ?.
Comment empêcher cette exception ? il y a quelque chose que je fais et qui n'est pas orthodoxe ?
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 var ...//... StringListDebit : TStringList; StringListCredit : TStringList; StringListSortieDebit : TStringList; StringListSortieCredit : TStringList; StringListTravail : TStringList; StringListSortie : TStringList; NumList : byte; begin StringListDebit:=TStringList.Create(); StringListCredit:=TStringList.Create(); StringListTravail:=TStringList.Create(); StringListSortie:=TStringList.Create(); StringListSortieDebit := TStringList.Create(); StringListSortieCredit := TStringList.Create(); Image5.Tag := 0; for NumList := 1 to 2 do begin if NumList = 1 then StringListTravail := StringListDebit else StringListTravail := StringListCredit; for K := 1 to StrToInt(ComboBox2.Text) do begin ...//... code Application.ProcessMessages; if Image5.Tag = 1 then begin FreeAndNil(StringListDebit); FreeAndNil(StringListCredit); FreeAndNil(StringListSortie); FreeAndNil(StringListSortieDebit); FreeAndNil(StringListSortieCredit); FreeAndNil(StringListTravail); Label34.Caption:= 'Process abandonné'; Exit; end; ...//... code end; end; end;
Partager