Hallo Leute.
Der Speichervorgang lässt sich noch "vereinfachen". Hier ein Beispiel ohne safety code:
Delphi-Quellcode:
procedure TFCDPS_Observer.SaveToLog(s: TStrings; fileName: string);
var
fs: TFileStream;
fm: word;
begin
if FileExists(fileName)
then fm := fmOpenReadWrite
else fm := fmCreate;
fs := TFileStream.Create(fileName, fm, fmShareDenyWrite);
fs.Seek(0, soFromEnd);
s.SaveToStream(fs);
fs.Free;
end;
Zur Timer-Routine: Der Timer sollte für die Dauer der Speicheraktivität deaktiviert werden. Wenn es eine Überschriftszeile im Grid gibt, dann muss die Laufvariable bei
StringGrid.FixedRows starten.
Grüße vom marabu
Noch 39 Tage bis Weihnachten.