Hai,
ich würde, so wie Jelly es vorgeschlagen hat, prüfen ob die Logdatei vorhanden ist.
Ausserdem solltest Du in jedem Fall mit try-except Blöcken arbeiten. Da es ja für dein "Debugsystem" ist musst Du dafür sorgen das die Funktion auf keinen Fall selber einen Fehlerverursacht der dein Programm zum Absturz bring
Das hier wäre eine möglichkeit. Wenn Du den
except-Teil noch verfeinerst kannst Du in deinem Programm noch auswerten warum der Aufruf der Funktion fehlgeschlagen ist.
Delphi-Quellcode:
function Log(Text: string) : Integer;
const
filename = 'Data/Log.txt';
var
LogFile: TextFile;
TDTempStr: string;
errorlevel : Integer;
begin
errorlevel := 0; // Keine Fehler
try
DateTimeToString(TDTempStr, 'dd.mm.yyyy hh:nn:ss', Now());
TDTempStr := TDTempStr + ': ' + Text;
AssignFile(LogFile, filename);
if not (FileExists(filename)) then
begin
Rewrite(logfile);
end
else
begin
Append(LogFile);
end;
Writeln(LogFile, TDTempStr);
Flush(LogFile);
CloseFile(LogFile);
except
errorlevel := 1; // Fehler
end;
result := errorlevel;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"