Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Programm lässt PC nicht runterfahren (https://www.delphipraxis.net/42567-programm-laesst-pc-nicht-runterfahren.html)

Harry M. 21. Mär 2005 04:25


Programm lässt PC nicht runterfahren
 
guten morgen....

ich hab mir eine emailchecker geschrieben. soweit läuft der auch nur wenn er im tray auf neue mails wartet, und ich will meinen pc neustarten oder ganz runterfahren tut er das nicht. es geht erst, wenn das programm beendet wurde. weiß jemand woran das liegen könnte. sollte das jemand testen wollen: http://www.8ung.at/projetilware/Downloads.htm (ich weiß der direklink... ging aber nicht, weil im dateinamen nen leerzeichen ist und das lässt sich in der url schlecht verarbeiten ich werde das aber künftig berücksichtigen)

gruß delphicus

Binärbaum 21. Mär 2005 04:30

Re: Programm lässt PC nicht runterfahren
 
Hier der Direktlink zum E-Mail-Checker.

Harry M. 21. Mär 2005 04:47

Re: Programm lässt PC nicht runterfahren
 
supersache: wie haste denn das gemacht mit dem direktlink? mit dem "%20" habe ich es auch versucht aber wolte bei mir nicht so recht

Robert Marquardt 21. Mär 2005 05:09

Re: Programm lässt PC nicht runterfahren
 
Man muss die Messages WM_QUERYENDSESSION und WM_ENDSESSION behandeln und man sollte tunlichst keine weitere nicht-modale Form offen haben.

Airblader 21. Mär 2005 05:18

Re: Programm lässt PC nicht runterfahren
 
Lustig...ich kenn jemand, der meint mit Delphi was rumgemacht zu haben und nun hätte er ein Programm, dass er einfach nicht löschen kann.
Im AutoStart ist es nicht drin und Neustarten hilft nichts :lol:

Harry M. 21. Mär 2005 05:24

Re: Programm lässt PC nicht runterfahren
 
wie geht das denn das das programm als symbol im tray ist aber keine nicht modale form offen ist. das programm hat nur 2 forms und drei untis

die hauptform (wird wähend der ausführung mit hide versteckt)
den disclaimer (wird nur angezeigt wenn man das tool zum erstenmal startet)
und 1 unit um einen mehrfachstart des programmes zuverhindern

und die hauptform... lässt die sich überhaupt modal anzeigen?

Airblader: auch wenn das hier nicht der richtige thread ist: ich habe auch nen ordner auf der platte (mit nen delphi program erzeugt) der sich nicht löschen lässt ich habe aber noch keine "schwerwieden" maßnahmen dagegen unternommen. etwa mal von cd starten und dann löschen etc. ist erstmal egal wenn ich mal leerlauf habe werde ich mich mal drum kümmern.

Robert Marquardt 21. Mär 2005 06:23

Re: Programm lässt PC nicht runterfahren
 
Ich habe mal ein Tray-Programm geschrieben das mehrere nicht-modale Forms gleichzeitig offen haben kann.
In diesem Fall forcieren die Forms bei WM_QUERYENDSESSION das witerlaufen von Windows.

Harry M. 21. Mär 2005 08:04

Re: Programm lässt PC nicht runterfahren
 
@Robert Marquardt: ich habe jetzt mal diesen code hinzugefügt, welcher ja auch von dir ist:

Delphi-Quellcode:
...
  private
    FCanClose: Boolean;
    procedure WMQueryEndSession(var Msg: TMessage); message WM_QUERYENDSESSION;
    procedure WMEndSession(var Msg: TMessage); message WM_ENDSESSION;
  ...

procedure TJoyMainForm.WMQueryEndSession(var Msg: TMessage);
begin
  // allow close of program on shutdown
  FCanClose := True;
  Msg.Result := 1;
end;

procedure TJoyMainForm.WMEndSession(var Msg: TMessage);
begin
  if Msg.WParam = 1 then
    Msg.Result := 0;
end;
aber mein pc will nicht runterfahren. wenn ich mit diesem code ne extra-anwendung zum testem mache geht es doch auch...

Robert Marquardt 21. Mär 2005 09:46

Re: Programm lässt PC nicht runterfahren
 
Hast du einen OnCloseQuery-Handler und benutzt er das FCanClose?

Harry M. 21. Mär 2005 11:45

Re: Programm lässt PC nicht runterfahren
 
also wenn ich dich richtig verstanden habe, möchtest du von mir wissen ob ich im formclosequery-ereignis code stehen habe der die variable fcanclose benutz. nein. es steht zwar code drine aber er nutz nicht die variable. dort erfogt eine abfrage, ob die timer die die konten auf neue mails prüfen active=TRUE sind. falls ja dann wird das canclose=FALSE gestzt, die form mit hide versteckt und mit exit aus der procedure gesprungen. sind alle prüfungstimer active=FALSE dann wird canclose=TRUE gestzt.

aber auch wenn ich den code im formclosequery-ereignis nicht ausführe bleibt das problem bestehen... auch dann wenn ich dort fcanclose=TRUE setzte

ich glaube aber bald, es liegt an der komponete des trayicons. eine andere anwendung in der ich die gleich komponete nutze hat das selbe phänomen.

Harry M. 22. Mär 2005 03:59

Re: Programm lässt PC nicht runterfahren
 
ich will zwar den tag nicht vor dem abend loben aber der code hier: http://delphipraxis.net/topic4047_mi...956ee8624f3825 von meister luckie tut was ich gern hätte. die komponete des trayicons habe ich auch gewechselt nutze jetzt cooltrayicon vorher tdftrayicon. jedoch habe ich die änderungen auch in das andere programm übernommen von dem ich oben schon sprach, welches das gleiche phänomen aufweist... dort geht es wieder nicht

Harry M. 25. Mär 2005 09:31

Re: Programm lässt PC nicht runterfahren
 
da bin ich wieder. war bloß die letzte tage (richtig!) krank gewesen.

wie schon oben gesagt, man soll den tag nicht vor dem abend loben. wenn ich das programm in einer vmware laufen lassen wird dort einwandfrei runtergefahren aber mein computer macht keine anstalten. ich wollte die prozedure mal im singelstep durchlaufen, aber ich mußte feststellen, das sie gar nicht durchlaufen wird. selbst der debugger meldet sich nicht und fragt ob man ihn beenden will (wenn man runterfahren will). ich glaube ich werde ganz die trayiconkomponete verzichten. oder hat jemand einen besseren vorschlag...

gruß delphicus


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 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