@Zacherl:
Ja, du hast ja Recht....
Hab' die ganze Procedure neu gebaut und jetzt ist sie viel besser:
Delphi-Quellcode:
Procedure ErrorLog(ErrorInfo: String);
Var
slSave: TStringlist;
Begin
Try
slSave:= TStringlist.Create;
Try
If FileExists('ErrorLog.txt')
Then
Begin
Try
slSave.LoadFromFile('ErrorLog.txt');
Except
End;
End;
slSave.Text:= DateTimeToStr(Now)+#13#10+
ErrorInfo+#13#10+
''+#13#10+
slSave.Text;
slSave.SaveToFile('ErrorLog.txt');
Finally
slSave.Free;
End;
Except
End;
End;
Natürlich ist da immer noch zu viel TryExceptEnd (was ich generell zu übertrieben benutze..) drin... ich brauche halt nur 'nen ErrorLog und möchte weiter nichts sehen...
Danke für die Info mit der Windows-
Api... hab' nie groß darüber nachgedacht...
Warum ich das nicht gleich gesehen hab' weiß der Kuckuck...
EDIT:
Ok, das TryExceptEnd hinter Finally ist wirklich quatsch.... (Warum sollte es beim Speicherfreigeben Probleme geben... wahrscheinlich unwahrscheinlich
).
Der erste generelle TryExceptEnd-Block sichert das SaveToFile... (und das Erstellen der Stringlist, wenn ich auch nicht wüßte was da schiefgehen sollte..) hat also zumindest einen Sinn...