globalerrorhandling
Under the app's main form:
Add this:
private
procedure GlobalExceptionHandler(Sender: TObject; E: Exception);
Then create the procedure:
procedure Tformmain.GlobalExceptionHandler(Sender: TObject; E: Exception);
var
LogFileName: string;
begin
// Create unique log filename
LogFileName := Format('error_%s.log', [FormatDateTime('yyyy-mm-dd_hh-nn-ss', Now)]);
// Save error log
with TStringList.Create do
try
Add('=== Application Error ===');
Add('Time: ' + DateTimeToStr(Now));
Add('Error Type: ' + E.ClassName);
Add('Error Message: ' + E.Message);
Add('=========================');
SaveToFile(LogFileName);
finally
Free;
end;
MessageDlg('Error detected' + sLineBreak+sLineBreak + 'Take a screenshot and send to admin' + sLineBreak + 'Error: ' + E.Message, mtError, [mbOK],0);
end;
In form create, add this:
procedure Tformmain.FormCreate(Sender: TObject); begin Application.OnException := @GlobalExceptionHandler; end;
globalerrorhandling.txt · Last modified: by 127.0.0.1
