![]() |
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: ![]() gruß delphicus |
Re: Programm lässt PC nicht runterfahren
Hier der
![]() |
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
|
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.
|
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: |
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. |
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. |
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:
aber mein pc will nicht runterfahren. wenn ich mit diesem code ne extra-anwendung zum testem mache geht es doch auch...
...
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; |
Re: Programm lässt PC nicht runterfahren
Hast du einen OnCloseQuery-Handler und benutzt er das FCanClose?
|
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. |
Re: Programm lässt PC nicht runterfahren
ich will zwar den tag nicht vor dem abend loben aber der code hier:
![]() |
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