AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Programm beendet bei Windows Restart nicht
Thema durchsuchen
Ansicht
Themen-Optionen

Programm beendet bei Windows Restart nicht

Ein Thema von Centrii · begonnen am 3. Mär 2008 · letzter Beitrag vom 7. Mär 2008
Antwort Antwort
Seite 1 von 2  1 2      
Centrii

Registriert seit: 18. Mai 2007
Ort: FDS
108 Beiträge
 
Delphi 2006 Architect
 
#1

Programm beendet bei Windows Restart nicht

  Alt 3. Mär 2008, 16:07
Hi,

Hab da ein kleines Problem mit einem Programm von mir.
Wenn ich Windows neustarten, herunterfahren oder den User abmelden will, wird mein Programm nicht beendet.
Es kommt immer die "END NOW" Message, Windows schafft es aber nicht das Programm zu beenden.
Hab schon versucht die WM´s abzufangen und es selber zu beenden, leider komm ich erst dazu, wenn die "END NOW" schon aktiv ist.
Ich hab schon alles was im OnClose steht auskommentiert, leider ohne Erfolg.

Hat jemand eine Idee und kann mir einen Vorschlag machen wie ich das Problem lösen könnte??

Gruß Ruben
Ruben
Theorie ist, wenn man alles weiss, aber nichts funktioniert. Praxis ist, wenn alles funktioniert und keiner weiss warum
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#2

Re: Programm beendet bei Windows Restart nicht

  Alt 3. Mär 2008, 16:16
Ohne Code zu sehen wie du was machst, ist das ein Raten ins Blaue.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#3

Re: Programm beendet bei Windows Restart nicht

  Alt 3. Mär 2008, 17:28
Ist das Programm in den Tray minimiert?
  Mit Zitat antworten Zitat
Semmel

Registriert seit: 15. Feb 2006
Ort: Bad Hall
64 Beiträge
 
#4

Re: Programm beendet bei Windows Restart nicht

  Alt 3. Mär 2008, 19:39
gibt es in CloseQuery eine Abfrage (Ja/Nein) war bei mir schon mal eine Möglichkeit ?
  Mit Zitat antworten Zitat
Centrii

Registriert seit: 18. Mai 2007
Ort: FDS
108 Beiträge
 
Delphi 2006 Architect
 
#5

Re: Programm beendet bei Windows Restart nicht

  Alt 3. Mär 2008, 20:47
Zitat von Muetze1:
Ist das Programm in den Tray minimiert?
nein, ist es nicht.
Zitat von Semmel:
gibt es in CloseQuery eine Abfrage (Ja/Nein) war bei mir schon mal eine Möglichkeit ?
in der CloseQuery gibt es keine abfragen, ich hab nichts in die OnCloseQuery geschrieben. Da Delphi beim aufruf der CloseQuery das CanClose standardmäßig auf CanClose := true setzt, habe ich darin nichts gemacht.
Alles was im OnClose Event steht, ist auskommentiert. Wenn ich die WM´s abhandeln will, bin ich immer zu spät dran. Beim Neustart von windows kommt erst das END NOW, wenn ich das weg clicke (mit "X"), komme ich in eine Abhandlungen der WM´s. Das ist aber zu spät. Gibts da eine Lösung?

Danke Euch
Ruben
Theorie ist, wenn man alles weiss, aber nichts funktioniert. Praxis ist, wenn alles funktioniert und keiner weiss warum
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#6

Re: Programm beendet bei Windows Restart nicht

  Alt 4. Mär 2008, 13:04
Hallo? Code? Oder sollen wir 5 Seiten lang raten?
  Mit Zitat antworten Zitat
Centrii

Registriert seit: 18. Mai 2007
Ort: FDS
108 Beiträge
 
Delphi 2006 Architect
 
#7

Re: Programm beendet bei Windows Restart nicht

  Alt 4. Mär 2008, 14:33
Delphi-Quellcode:
procedure Tfmain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
 CanClose := true;
end;
Delphi-Quellcode:
procedure Tfmain.FormDestroy(Sender: TObject);
begin
  DeleteThread.Terminate;
  try
    DeleteThread.WaitFor;
  except
  end;
  DeleteThread.Free;
  Lock_Draw.Free;
  Lock_Query.Free;
  Lock_ClientCheck.Free;
  Lock_UpdateList.Free;
  Lock_NameCheck.Free;
end;
Delphi-Quellcode:
procedure Tfmain.WMEndSession(var Msg: TWMEndSession);
begin
  if msg.Unused = 0 then //d.h. es ist ein reboot/shutdown
  begin
   Statusbar1.Panels[2].Text:='Windowsmessage: reboot or shutdown required';
   Statusbar1.Update;
   Application.ProcessMessages;
   close;
  end
  else //d.h. es ist ein logoff
  begin
   Statusbar1.Panels[2].Text:='Windowsmessage: logoff required';
   Statusbar1.Update;
   Application.ProcessMessages;
   close;
  end;
end;

procedure Tfmain.WMQUERYENDSESSION(var Msg: TMessage);
begin
  msg.Result := Integer(true);
end;
so das ist alles was meiner Meinung nach relevand ist. Wie gesagt, alles im FormClose ist auskommentiert.
Ruben
Theorie ist, wenn man alles weiss, aber nichts funktioniert. Praxis ist, wenn alles funktioniert und keiner weiss warum
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Programm beendet bei Windows Restart nicht

  Alt 4. Mär 2008, 14:37
Warum fängst du denn überhaupt die Windowsbotschaften ab?
  Mit Zitat antworten Zitat
Centrii

Registriert seit: 18. Mai 2007
Ort: FDS
108 Beiträge
 
Delphi 2006 Architect
 
#9

Re: Programm beendet bei Windows Restart nicht

  Alt 4. Mär 2008, 14:46
weil sich mein Programm bei einem Windows neustart nicht beendet
und ich die Hoffnung hatte das so in den Griff zu bekommen.
Leider komm ich aber erst zum Abfangen wenn die END NOW Meldung schon da ist.
Ruben
Theorie ist, wenn man alles weiss, aber nichts funktioniert. Praxis ist, wenn alles funktioniert und keiner weiss warum
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Programm beendet bei Windows Restart nicht

  Alt 4. Mär 2008, 14:56
Hi,

Delphi-Quellcode:
procedure Tfmain.FormDestroy(Sender: TObject);
begin
  DeleteThread.Terminate;
  try
    DeleteThread.WaitFor;
  except
  end;
  DeleteThread.Free;
  Lock_Draw.Free;
  Lock_Query.Free;
  Lock_ClientCheck.Free;
  Lock_UpdateList.Free;
  Lock_NameCheck.Free;
end;
Das liegt sicher daran, das DeleteThread nicht beendet. Kommentier mal den Thread aus. Wenns dann beendet, dann wars der Thread...
Gruß
Norman
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:58 Uhr.
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