AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Herunterfahren verhindern, Programm nicht beenden

Herunterfahren verhindern, Programm nicht beenden

Ein Thema von BlueStarHH · begonnen am 23. Jun 2016 · letzter Beitrag vom 21. Jul 2016
Antwort Antwort
THY4243

Registriert seit: 15. Dez 2012
Ort: München - Untermenzing
45 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Herunterfahren verhindern, Programm nicht beenden

  Alt 23. Jun 2016, 19:24
Nachtrag - natürlich zum Schluss noch:

Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
{Abfolge: 1. X -> Form.CloseQuery -> Form.Close -> Form.Hide}
begin
  ....

  ShutdownBlockReasonDestroy(Application.Handle);

  ....

end;
  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
 
#2

AW: Herunterfahren verhindern, Programm nicht beenden

  Alt 23. Jun 2016, 20:01
Wenn ich doch von vornherein weiß - als Entwickler der Software sollte ich das wissen - dass die Anwendung beim Beenden noch etwas speichern muss (was auch länger dauert), dann kann man ShutdownBlockReasonCreate direkt beim Öffnen der Datei, Datenbank, whatever absetzen und wenn alles fertig ist, dann ein ShutdownBlockReasonDestroy .

Das ist auch wesentlich einfacher abzubilden als dieses Rumgefrickel wenn denn dann ein Herunterfahren ansteht.

Kann man so auch in der Doku lesen:
Zitat:
Applications should call this function as they begin an operation that cannot be interrupted, such as burning a CD or DVD. When the operation has completed, call the ShutdownBlockReasonDestroy function to indicate that the system can be shut down.
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)

Geändert von Sir Rufo (23. Jun 2016 um 20:04 Uhr)
  Mit Zitat antworten Zitat
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
864 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Herunterfahren verhindern, Programm nicht beenden

  Alt 24. Jun 2016, 06:04
Wenn ich doch von vornherein weiß - als Entwickler der Software sollte ich das wissen - dass die Anwendung beim Beenden noch etwas speichern muss (was auch länger dauert), dann kann man ShutdownBlockReasonCreate direkt beim Öffnen der Datei, Datenbank, whatever absetzen und wenn alles fertig ist, dann ein ShutdownBlockReasonDestroy .
Genau so ist es. Siehe mein Post #6. Der Punkt wo genau ShutdownBlockReasonCreate aufgerrufen werden soll, ist hier wohl aber nicht das Problem. Windows zeigt wie gesagt, den Text der BlockReason an, (hat die BlockReason also erkannt) beendet das Programm aber trotzdem...
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 19:48 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