Hallo,
ich habe eine Hauptform in deren Create-Methode ich per Application.OnException die Fehler abfange (erstmal nur ne Ausgabe).
Das funktioniert auch sehr schön.
Delphi-Quellcode:
procedure TFrmHauptfenster.FormCreate(Sender: TObject);
begin
Application.OnException := AppException;
[...]
einfache AppException
Delphi-Quellcode:
procedure TFrmHauptfenster.AppException(Sender: TObject; E:
Exception);
begin
MessageDlg(Format('
Es ist folgender Fehler aufgetreten:%s%s%s'+
'
Fehlertyp:%s%s%sSender:%s%s [%s]', [#10#13, E.
Message,
#13#10#13#10, #10#13, E.ClassName, #10#13#10#13, #13#10,
TComponent(Sender).
Name, Sender.ClassName]), mtError, [mbOk], 0)
end;
Nun öffnet das Hauptformular ein 2tes, aber nicht modal!
Erzeugt jetzt das zweite Formular einen Fehler, so wird das Hauptformular in den Vordergrund "geholt" und der Dialog mit dem Fehler angezeigt.
Ich möchte aber, dass das Formular, dass den Fehler erzeugt sichtbar/im Vordergrund bleibt.
Ein TForm(GetParentForm(TControl(Sender))).BringToFron t wird leider erst nach dem schliessen des Dialogs ausgeführt.
Jemand ne Idee?