Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Application.OnException Problem/Frage (https://www.delphipraxis.net/72142-application-onexception-problem-frage.html)

trashcandesign 26. Jun 2006 10:57


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:
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?

trashcandesign 26. Jun 2006 12:35

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 14:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz