From 44fc23e4a9342eefdb21c62992a8ce2d0148d79c Mon Sep 17 00:00:00 2001 From: vincents Date: Sun, 8 Jan 2006 15:12:16 +0000 Subject: [PATCH] show error message, but do not crash, if --debug-log filename cannot be opened git-svn-id: trunk@8472 - --- lcl/lclproc.pas | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/lcl/lclproc.pas b/lcl/lclproc.pas index 98857d8f8b..0d71ba3e94 100644 --- a/lcl/lclproc.pas +++ b/lcl/lclproc.pas @@ -858,25 +858,33 @@ var end; begin + DebugText := nil; DebugFileName := GetDebugFileName; if (length(DebugFileName)>0) and (DirPathExists(ExtractFileDir(DebugFileName))) then begin - new(DebugText); - DebugTextAllocated := true; - Assign(DebugText^, DebugFileName); - if FileExists(DebugFileName) then - Append(DebugText^) - else - Rewrite(DebugText^); - end - else begin + try + Assign(DebugText^, DebugFileName); + if FileExists(DebugFileName) then + Append(DebugText^) + else + Rewrite(DebugText^); + except + 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 DebugText := nil else DebugText := @Output; DebugTextAllocated := false; - end; + end else + DebugTextAllocated := true; end; procedure FinalizeDebugOutput;