show error message, but do not crash, if --debug-log filename cannot be opened

git-svn-id: trunk@8472 -
This commit is contained in:
vincents 2006-01-08 15:12:16 +00:00
parent 1223f44069
commit 44fc23e4a9

View File

@ -858,25 +858,33 @@ var
end; end;
begin begin
DebugText := nil;
DebugFileName := GetDebugFileName; DebugFileName := GetDebugFileName;
if (length(DebugFileName)>0) and if (length(DebugFileName)>0) and
(DirPathExists(ExtractFileDir(DebugFileName))) then begin (DirPathExists(ExtractFileDir(DebugFileName))) then begin
new(DebugText); new(DebugText);
DebugTextAllocated := true; try
Assign(DebugText^, DebugFileName); Assign(DebugText^, DebugFileName);
if FileExists(DebugFileName) then if FileExists(DebugFileName) then
Append(DebugText^) Append(DebugText^)
else else
Rewrite(DebugText^); Rewrite(DebugText^);
end except
else begin Freemem(DebugText);
DebugText := nil;
// Add extra line ending: a dialog will be shown in windows gui application
writeln(StdOut, 'Cannot open file: ', DebugFileName+LineEnding);
end;
end;
if DebugText=nil then
begin
if TextRec(Output).Mode=fmClosed then if TextRec(Output).Mode=fmClosed then
DebugText := nil DebugText := nil
else else
DebugText := @Output; DebugText := @Output;
DebugTextAllocated := false; DebugTextAllocated := false;
end; end else
DebugTextAllocated := true;
end; end;
procedure FinalizeDebugOutput; procedure FinalizeDebugOutput;