Hallo BlueStar,
die korrekte Art eine
Exception außerhalb von Application.Run() auszulösen ist - an deinem Beispiel-Code demonstriert - diese:
Delphi-Quellcode:
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
try
raise Exception.Create('
Test');
except
on E:
Exception do
begin
Application.ShowException(E);
if MustTerminate(E)
then
Application.Terminate;
end;
end;
Application.Run;
end.
In der
unit, in der deine Fehlerbehandlungsroutinen versammelt sind, könnte das hier noch Platz finden:
Delphi-Quellcode:
function MustTerminate(E:
Exception): boolean;
begin
Result := false;
end;
Nur so kannst du an einer solchen Stelle verhindern, dass deine
Exception zum
OS durchschlägt.
Grüße vom marabu