Hallo Werte Delphianer!
Ich habe mich nun doch durchgerungen mir Win 8 nun genauer anzuschauen. Mein derzeitiges Projekt beinhaltet eine Datenbank die beim Start und Ende meines Programmes jeweils auf einen
FTP Server synchronisiert wird. Das funktioniert auch soweit wunderbar solange ich händig das Programm beende.
Komme ich allerdings auf die Idee Windows 8 herunterzufahren oder mich abzumelden terminiert mir Windows radikal meine Anwendung - die Synchronierung schlägt fehl und Datenverlust ist zu erwarten.
Bei früheren Anwendungen habe ich das Problem gelöst in dem ich per WMEndSessionQuery Windows signalisiert habe das meine Anwendung noch nicht bereit ist und dann die Synchronisierung abgeschlossen.
Ich kenne die
API und die darin reglementierten Timeouts. Bisher reicht die Zeit aber aus.
Nun das eigentliche Problem liegt wohl bei Windows 8 - es reagiert nicht auf die Messages die ich etwa bei WMEndSessionQuery sende und terminiert mir mein Programm radikal. Auch ein warten auf Herunterfahren UI-Bildschirm erscheint nicht.
Kennt jemand eine Lösung?
Meine Vermutung liegt darin das bei Win 8 Standardmäßig wohl das "Schnelle Herunterfahren / Schnelle Starten" aktiviert ist.
Systeminfos:
Windows 8 Professional
Delphi XE3 mit NexusDB
Programm ist komplett in Firemonkey geschrieben (nur der UI wegen -
WinAPI wird also verwendet)