Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Rechner fährt nicht mehr herunter (https://www.delphipraxis.net/73935-rechner-faehrt-nicht-mehr-herunter.html)

meg91 25. Jul 2006 20:25


Rechner fährt nicht mehr herunter
 
Hallo
ich habe ein Programm geschrieben, welches beim minimieren oder schließen in die TNA wandert.
Es startet automatisch beim Systemstart.
Nach einem Testlauf habe ich bemerkt, dass mein Rechner nicht mehr runterfährt, wenn mein Prog läuft (ich klick auf Start -> Ausschalten und dann in dem kleinen blauen Fenster wieder Ausschalten, dann verschwiendet es wieder und der nomale Dektop kommt wieder)
wenn ich das Programm beende und ihn wieder ausschalte fährt mein PC wieder ganz normal runter

ich geh mal davon aus, das sich mein Prog beim schließen immer minimiert und sich nur über das Kontextmenü über dem TNA Icon schließen lässt
kann mir jemand nen Rat geben wie ich mein Problem lösen könnte

Gruß
Markus

mkinzler 25. Jul 2006 20:27

Re: Rechner fährt nicht mehr herunter
 
Dein Programm scheint die höfliche Bitte des Betriebssytem sich zu Beenden nicht nachzukommen.

faux 25. Jul 2006 20:27

Re: Rechner fährt nicht mehr herunter
 
Hallo!

Hast du das Event OnClose oder OnCloseQuery benutzt? Wenn ja, kann es sein, dass dein Programm da drinnen hängen bleibt und das Timout fürs killen von hängengebliebenen Applikationen beim herunterfahren sehr hoch gesetzt ist, im Windows.

Grüße
Faux

EDatabaseError 25. Jul 2006 20:28

Re: Rechner fährt nicht mehr herunter
 
:gruebel: Windows sollte es doch fertig bringen dein Programm auszubekommen. Das schafft es ja auch bei Norton ;-)

Du könntest den Shutdown abfangen und dann dein Programm beenden

HuxXx 25. Jul 2006 20:29

Re: Rechner fährt nicht mehr herunter
 
Hi...

vllt könnte dir das helfen:

Dein Programm reagiert ja drauf, wenn der Rechner runterfährt, also einfach das hier in die WMQUERYSESSION Procedur einfügen.

Delphi-Quellcode:
procedure TMainForm.WMQUERYENDSESSION(var msg: TMessage);
begin
// In die TNA minimieren.
  msg.Result := true;


// bzw. das Ding beenden.
Halt;
end;
Greetz by Hux

// Edit: arrrgh, das [b] funktioniert im CodeTeil ja garnicht -.-

faux 25. Jul 2006 20:34

Re: Rechner fährt nicht mehr herunter
 
@HuxXx: Es muss doch auch ohne zusätzlichen Code zu lösen sein. Zuerst sollte man mal feststellen, wieso das Probelm überhaupt auftritt. Einfach so, mal irgendeinen Code in die Applikation zu packen, hat noch keinen Sinn, wenn man nichtmal weiß, wieso der Fehler auftritt.

Grüße
Faux

meg91 25. Jul 2006 20:35

Re: Rechner fährt nicht mehr herunter
 
ich hab unter CloseQuery folgendes rein geschriben
Delphi-Quellcode:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose := False;
  Form1.Hide;
end;

faux 25. Jul 2006 21:05

Re: Rechner fährt nicht mehr herunter
 
Zitat:

Zitat von meg91
ich hab unter CloseQuery folgendes rein geschriben
Delphi-Quellcode:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose := False;
  Form1.Hide;
end;

Jup! Daran liegts. ;)

Beim herunterfahren fordert Windows deine Applikation auf, sich zu beenden, deine Applikation sagt aber nur: Nein. ;)
Das liegt daran, dass du CanClose auf False setzt.
Das OnCloseQuery Event ist dazu da, Abfragen vor dem Schließen zu realisieren, zum Beispiel "Wollen Sie wirklich beenden" oder "Wollen Sie Speichern?" oder so. Du "missbrauchst" dieses Event zum Minimieren in den Tray. ;)

Grüße
Faux

meg91 25. Jul 2006 21:09

Re: Rechner fährt nicht mehr herunter
 
Und wie kann ich das dann richtig machen?

richie 26. Jul 2006 13:50

Re: Rechner fährt nicht mehr herunter
 
Event weglassen. :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:01 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz