![]() |
MessageDlg in OnDestroy des Hauptformulars
Komisches Phänomen: wenn ich einen MessageDlg-Aufruf in das OnDestroy-Ereignis des Hauptformulars meiner Anwendung einbaue, wird der immer "übersprungen". Hab das gerade mal anhand einer kleinen Testapplikation ausprobiert, da ist es genauso. Einfach ein neues Projekt erzeugt und in das OnDestroy-Event des Formulars einen MessageDlg-Aufruf eingebaut. Der Dialog blitzt zur Laufzeit zwar kurz auf, bleibt aber nicht stehen, sondern die Anwendung schließt sich unmittelbar darauf automatisch von allein, und mit ihr natürlich der MessageDlg.
Frage daher: woran liegts? |
Re: MessageDlg in OnDestroy des Hauptformulars
Keine Ahnung. Aber für so was nimmt man entweder das Ereignis OnClose oder OnCloseQuery.
|
Re: MessageDlg in OnDestroy des Hauptformulars
Leg den Dialog ins OnQueryClose. OnDestroy ist zu spät um einen solchen Dialog für das Hauptfenster zu unterstützen.
|
Re: MessageDlg in OnDestroy des Hauptformulars
Nach OnClose wird Application.Terminate aufgerufen, damit wiurd Application.Fterminate auf True gesetzt. Und genau ab jetzt schließt sich jedes modale Fenster mir mrCancel selbst.
|
Re: MessageDlg in OnDestroy des Hauptformulars
Alles klar. Danke! Wird dann ins OnClose verfrachtet :)
|
Re: MessageDlg in OnDestroy des Hauptformulars
MessageDlg in den Ereignissen OnCreate, OnDestroy werden bis Delphi 2007 nicht korrekt abgearbeitet.
Für Delphi 2007 gibt es auf jeden Fall ein Update, welches dieses behebt Wurde hier schon mal besprochen: ![]() (ok, da wurde das mit OnCreate behandelt, mit Delphi 2010 ist es aber auch im OnDestroy kein Problem) Allerdings gehören solche Dialoge nicht in OnCreate oder OnDestroy, weil es an den Stellen entweder zu früh oder zu spät ist :mrgreen: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:15 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