AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi MessageDlg in OnDestroy des Hauptformulars
Thema durchsuchen
Ansicht
Themen-Optionen

MessageDlg in OnDestroy des Hauptformulars

Ein Thema von MatthiasR · begonnen am 23. Mär 2010 · letzter Beitrag vom 23. Mär 2010
Antwort Antwort
MatthiasR

Registriert seit: 21. Apr 2005
193 Beiträge
 
#1

MessageDlg in OnDestroy des Hauptformulars

  Alt 23. Mär 2010, 15:55
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?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: MessageDlg in OnDestroy des Hauptformulars

  Alt 23. Mär 2010, 16:02
Keine Ahnung. Aber für so was nimmt man entweder das Ereignis OnClose oder OnCloseQuery.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: MessageDlg in OnDestroy des Hauptformulars

  Alt 23. Mär 2010, 16:03
Leg den Dialog ins OnQueryClose. OnDestroy ist zu spät um einen solchen Dialog für das Hauptfenster zu unterstützen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: MessageDlg in OnDestroy des Hauptformulars

  Alt 23. Mär 2010, 16:04
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.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
MatthiasR

Registriert seit: 21. Apr 2005
193 Beiträge
 
#5

Re: MessageDlg in OnDestroy des Hauptformulars

  Alt 23. Mär 2010, 16:10
Alles klar. Danke! Wird dann ins OnClose verfrachtet
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

Re: MessageDlg in OnDestroy des Hauptformulars

  Alt 23. Mär 2010, 16:53
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: http://www.delphipraxis.net/internal...138217#1138217
(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
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:50 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