Deine ganze vorgehensweise ist
VIEL zu umständlich.
Folgendes ist ausreichend:
LB_Protokoll.Items.LoadFromFile(sExportPfad + sLogFileName);
Es könnte nun sein, dass die Log-Datei noch geschrieben wird, während du die Datei einlesen möchtest.
Dann muss man folgendes tun:
Delphi-Quellcode:
procedure LoadFromFile2(s: TStrings; const FileName: string);
var
Stream: TStream;
begin
// durch das auskommentieren des Flags fmShareDenyWrite dürfen
// anderere Prozesse gleichzeitig schreiben
Stream := TFileStream.Create(FileName, fmOpenRead {or fmShareDenyWrite});
try
s.LoadFromStream(Stream);
finally
Stream.Free;
end;
end;
...
LoadFromFile2(LB_Protokoll.Items, sExportPfad + sLogFileName);