Zitat von
The_Unknown:
Wenn ich die Anwendung normal über "X" beende, kommt die Meldung 0, also alles ok.
Wenn ich nun aber zB. abmelde, kommt überhauptkeine Message (weder 0 noch 1), was ja nicht sein kann, denn ich habe in der Showmessage ja was stehen!?
Wenn ich mich richtig erinnere, hatte ich ein ähnliches Problem. Und soweit ich noch weiß wurde OnClose nicht mehr ausgelöst, wenn der Rechner abgemeldet/heruntergefahren wurde.
Also soweit ich mich richtig erinnere war es so:
[X] am Fenster:
OnCloseQuery
OnClose
OnDestroy
Abmelden/Herunterfahren:
WM_QUERYENDSESSION
OnCloseQuery
WM_ENDSESSION
OnDestroy
Und soweit ich die Hilfe von M$ richtig verstanden habe, steht ja zum Zeitpunkt von WM_QUERYENDSESSION nicht fest ob wirklich herunter gefahren wird. Es wird ja nur nach gefragt ob es gehen würde. Es könnte auch noch abgebrochen werden von einer anderen Anwendung.
Und es gab noch einen merkwürdigen Effekt. Beim schließen über [X] wurde OnCloseQuery nur vom MainForm ausgelöst während beim Herunterfahren/Abmelden alle Forms des Projekts die ein OnCloseQuery hatten abgefragt wurden. Hatte bei mir sogar das Herunterfahren verhindert
Gruß, Chris
[Edit] Hab nochmal das DemoProjekt nachgebaut, welches meine These unterstützt
[/Edit]