AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

OnCloseQuery ohne Forms

Offene Frage von "blackdrake"
Ein Thema von blackdrake · begonnen am 25. Aug 2006 · letzter Beitrag vom 27. Aug 2006
Antwort Antwort
blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#1

OnCloseQuery ohne Forms

  Alt 25. Aug 2006, 23:39
Hallo.

Ich habe eine Anwendung, die einen Hintergrunddienst durchführt und keine Forms verwendet. Die Unit "Forms" ist nicht eingebunden.

Ich möchte folgende Programmstruktur erzielen:

Delphi-Quellcode:
program Test;

begin
  // Vor Schleife

  while not WindowsBeendetSich do
  begin
    // Schleife, bis Windows heruntergefahren/neugestartet wird
  end;

  // Abschließende Arbeiten
end.
Ich möchte also eine Art OnCloseQuery nutzen bzw. eine Funktion haben, die true wird, sobald sich Windows im Herunterfahren-Prozess begibt.

Kann mir jemand helfen?
Daniel Marschall
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.893 Beiträge
 
Delphi 12 Athens
 
#2

Re: OnCloseQuery ohne Forms

  Alt 25. Aug 2006, 23:44
Hallo!

Du solltest Dich mit der Programmierung von Systemdiensen vertraut machen.

Ich denke, dort wirst Du finden, was Du suchst.

Entsprechende Tutorials solltest Du in der DP finden.

Gruß

onlinekater
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: OnCloseQuery ohne Forms

  Alt 26. Aug 2006, 00:10
Hallo.

Bis jetzt hat eine normale Anwendung ohne Forms prima Funktioniert. Die Schleife war eine while-true, jedoch möchte ich jetzt noch eine Aktion beim Herunterfahren durchführen. Es ist auch kein öffentliches Projekt, also muss es nicht absolut Perfekt sein.

Gruß
blackdrake
Daniel Marschall
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#4

Re: OnCloseQuery ohne Forms

  Alt 26. Aug 2006, 00:43
Die WM_SYSTEMSHUTDOWNQUERY (oder wie auch immer die heisst) sollte doch auch im Thread bzw. process-queue irgendwie irgendwo ankommen... du solltest also immer mal wieder die Nachrichten abholen und dann schauen, ob die entsprechende dabei ist.

EDIT: ja... das ist eigentlcih NonVCL-Programmierung, also müsstest du einen ganz stinknromalen Message-Loop aufbauen können... oder...?!
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Ydobon

Registriert seit: 3. Mär 2006
264 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: OnCloseQuery ohne Forms

  Alt 26. Aug 2006, 00:54
Ich kann gerade meinen Rechner nicht herunterfahren, aber vielleicht funktioniert ja AllocateHWnd, das braucht nur Classes.
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#6

Re: OnCloseQuery ohne Forms

  Alt 26. Aug 2006, 03:33
Hallo.

Leider habe ich von der Windows API absolut keine Ahnung, deswegen sagen mir Message-Loops auch nichts. Unter Google habe ich nichts passendes mit meinen Schlagworten gefunden. Welche Parameter muss AllocateHWnd haben, damit ich abfragen kann, ob Windows herunterfahren will?

Edit: Das hier geht auch nicht:

Delphi-Quellcode:
program test;

uses
  Messages;

{$R *.res}

// Unbekannte direktive "message"
procedure WMQueryEndSession(var Msg : TWMQueryEndSession); message WM_QueryEndSession; forward;

procedure WMQueryEndSession(var Msg : TWMQueryEndSession);
begin
end;

begin
end.
Gruß
blackdrake
Daniel Marschall
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: OnCloseQuery ohne Forms

  Alt 27. Aug 2006, 01:32
Gibt es für mein Problem technisch keine Lösung? Ich muss dann scheinbar doch mit Forms arbeiten, nur damit ich OnCloseQuery nutzen kann, oder nicht?
Daniel Marschall
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#8

Re: OnCloseQuery ohne Forms

  Alt 27. Aug 2006, 09:10
Entweder, du arbeitest mit "Forms" und VCL und Komfort (und kannst dann TFormOnCloseQuery verwenden), oder:

Du verzichtest auf die VCL, deine Exe wird kleiner, und du musst alles per Hand machen (und Messages verwenden).

Aber gerne die Vortele beider ohne Nachteile haben geht nicht
(vll. mit KOL ansatzweise - da kenn ich mich jetzt nit so aus ...)

Such mal nach einem Tutorial für die API-Programmierung ohne die VCL - Luckie hat da auch mal eins geschrieben
  Mit Zitat antworten Zitat
Benutzerbild von Cyberbob
Cyberbob

Registriert seit: 24. Jan 2005
Ort: Karben
626 Beiträge
 
Delphi XE7 Architect
 
#9

Re: OnCloseQuery ohne Forms

  Alt 27. Aug 2006, 09:17
Wenn du nur was machen Willst, wenn Windows runterfährt, kannst du unter XP Pro auch ein Programm bei/kurz vor dem Shutdown starten. Dieses wird allerdings erst dann gestartet.
Christian
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:05 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