Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi windows end Message und CloseQuery (https://www.delphipraxis.net/29134-windows-end-message-und-closequery.html)

Helmi 4. Sep 2004 11:40


windows end Message und CloseQuery
 
Hallo,

mein Problem bezieht sich auf mein gestriges Problem:

CloseQuery und Windows beenden

Wenn Windows beendet wird, dann wird CloseQuery zuerst (scheinbar) ausgeführt.
Meine Variable "Windows_Session_End" ist aber zu diesem Zeitpunkt noch false
und deshalb wird die Meldung angezeigt.

Ich habe herrausgefunden, dass die Variable erst nach einiger Zeit true wird, aber leider zu spät.

weiss jemand eine andere Lösung?

Hintergrund des ganzen ist, dass ich die meldung nicht anzeigen lassen will, wenn Windows beendet wird und die software noch läuft.

mfg
Hlmi

Nothine 4. Sep 2004 13:10

Re: windows end Message und CloseQuery
 
erst das setzen von WINDOWS_SESSION_END und dann der inherited aufruf?

Helmi 4. Sep 2004 13:18

Re: windows end Message und CloseQuery
 
muss ich ausprobieren

Helmi 4. Sep 2004 13:26

Re: windows end Message und CloseQuery
 
leider hat das nix gebracht mit:

Code:
Windows_Session_End := true
inherited;

Duffy 4. Sep 2004 13:30

Re: windows end Message und CloseQuery
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Helmi
vielleicht hilft Dir die Demo weiter ...

bye
Claus

[EDIT]Sehe gerade, Du mußt natürlich "WMQUERYENDSESSION" verwenden und nicht "WMEndSession" [/EDIT]

Helmi 4. Sep 2004 13:45

Re: windows end Message und CloseQuery
 
Hallo duffy,

danke für das Demo

genau das was ich brauch

das
Code:
procedure TForm1.WMQUERYENDSESSION(var Msg: TWMQueryEndSession);
begin
  Msg.Result := 1;
  Shutdown := True;
  inherited;
end;
hatte ich auch schon mal probiert...

nur ohne Msg.Result := 1 und ohne inherited;

mfg
Helmi

Vjay 4. Sep 2004 23:35

Re: windows end Message und CloseQuery
 
Also zur Erklärung die Query-End sendet windows um abzufragen ob beendet werden darf. Die End-Session kommt wirklich erst kurz vorm shutdown, d.h. nach erhalt des End-Session kann es jeden moment vorbei sein.

[klugscheissermode]
Die Lösung das in die Query-End zu schreiben wäre nicht 100% richtig, denn ein anderes Programm könnte "0/Nein" antworten und der Shutdown würde nicht fortgesetzt werden. Was genau die nachrichten mitliefern weiss ich nicht, aber notfalls würd ich nochn Timer setzen der nach 2-5 Sekunden das Shutdown wieder auf false setzt.
[/klugscheissermode]

Duffy 4. Sep 2004 23:47

Re: windows end Message und CloseQuery
 
Hallo Vjay,
und was machen all die anderen Programme ...

bye
Claus

Vjay 4. Sep 2004 23:51

Re: windows end Message und CloseQuery
 
Guter Einwand, es meistens auch falsch ;).

Duffy 4. Sep 2004 23:53

Re: windows end Message und CloseQuery
 
sie warten darauf, daß Windows sagt "Ist schon OK, es hat keiner was dagegen, wenn wir jetzt herunterfahren"

bye
Claus


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:14 Uhr.
Seite 1 von 2  1 2      

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