Bonjour, j'ai bon me tourner la tete dans tous les sens, je ne vois pas mon probleme dans ce code.
Enfait, il parcours bien a chaque ligne, et arrivé à la derniere, il plante en me donnant comme erreur une violation de la mémoire.
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
47
48
49
50
51 unit LogActions; interface uses SysUtils, Classes, SyncObjs; function GetLogs: TStrings; implementation var CS: TCriticalSection; FileName: String; function GetLogs: TStrings; var LogFile: TextFile; Ligne: String; begin CS.Acquire; if not FileExists(FileName) then begin Result.Text := '(vide)'; Exit; end else begin AssignFile(LogFile, FileName); Reset(LogFile); end; while not EoF(LogFile) do begin ReadLn(LogFile, Ligne); Result.Add(Ligne); end; CloseFile(LogFile); CS.Release; end; initialization if not Assigned(CS) then CS := TCriticalSection.Create; FileName := 'logs.txt'; finalization CS.Free; end.
Partager