Violation de la Mémoire ?!
Bonjour, j'ai bon me tourner la tete dans tous les sens, je ne vois pas mon probleme dans ce code.
Code:
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. |
Enfait, il parcours bien a chaque ligne, et arrivé à la derniere, il plante en me donnant comme erreur une violation de la mémoire.