![]() |
Application.OnException Problem/Frage
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:
einfache AppException
procedure TFrmHauptfenster.FormCreate(Sender: TObject);
begin Application.OnException := AppException; [...]
Delphi-Quellcode:
Nun öffnet das Hauptformular ein 2tes, aber nicht modal!
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; 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? |
Re: Application.OnException Problem/Frage
Problem gelöst:
Ich hatte zur Darstellung des Fehlers die Methode MessageBoxIndirect benutzt. Bei der Methode muss man in den Parametern hwndOwner angeben und der war auf Application.Handle, also den WindowHandler der Mainform, gesetzt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz