![]() |
Programm ignoriert FormDestroy wenn im Systemtray
Ich sage meinem Programm, das ständig im Systemtray nebenherläuft, dass es beim Herunterfahren von Windows einen bestimmten Wert in eine TXT Datei schreiben soll. Diese Routine steht in der FormDestroy Prozedur. Aber wenn das Programm minimiert ist und vom System geschlossen wird, lässt er FormDestroy einfach weg. Was kann ich dagegen tun?
|
Re: Programm ignoriert FormDestroy wenn im Systemtray
Dein Programm ignoriert offenbar die Aufforderung zum Beenden und wird zwangsweise beendet - ohne FormDestroy.
|
Re: Programm ignoriert FormDestroy wenn im Systemtray
Hi JPSelter,
beim Herunterfahren wird ![]() Greetz alcaeus |
Re: Programm ignoriert FormDestroy wenn im Systemtray
Erst kommt WM_QUERYENDSESSION und dann WM_ENDSESSION. Danach wird das Programm nicht mehr korrekt beendet sondern gekillt.
Es kommt kein WM_QUIT und daher weden auch die Komponenten/Forms nicht mehr freigegeben. Also einen WM_ENDSESSION-Handler schreiben und dort selber FormDestroy aufrufen. |
Re: Programm ignoriert FormDestroy wenn im Systemtray
Wie schaffe ich es denn, dass mein Programm beim herunterfahren des PCs nochmal kurz alles blockiert und auf meine Bestätigung wartet? So ungefähr wie bei Word/Excel, wenn man am Ende erst gefragt wird, ob die Änderungen gespeichert werden sollen.
|
Re: Programm ignoriert FormDestroy wenn im Systemtray
OK, habs hinbekommen :)
|
Re: Programm ignoriert FormDestroy wenn im Systemtray
Das nächste Mal wäre es schön, wenn du sagen würdest, wie du das gemaht hast (im OnCloseQuery CanClose auf false stellen, oder so in der Art), für die, die das gleiche Problem haben.
|
Re: Programm ignoriert FormDestroy wenn im Systemtray
Das macht man einfach mit einem Dialog im WM_QUERYENDSESSION Handler.
Je nach Ergebnis des Dialogs kann man dann auch noch mit dem richtigen Rueckgabewert Windows dazu bringen nicht herunterzufahren. Dazu ist WM_QUERYENDSESSION schliesslich da. |
Re: Programm ignoriert FormDestroy wenn im Systemtray
echt? man kann windows sagen, es soll nicht herunterfahren?
|
Re: Programm ignoriert FormDestroy wenn im Systemtray
Es schadet nicht die Win32 Hilfe zu WM_QUERYENDSESSION zu lesen.
Es schadet auch nicht das Platform SDK von Microsoft installiert zu haben. ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 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