Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#14

Re: Eigener Dienst beendet nicht korrekt...

  Alt 15. Jan 2009, 17:22
Hallo,

in der Delphihilfe heißt es im Beispiel:
Delphi-Quellcode:
while not Terminated do begin
**ServiceThread.ProcessRequests(True);
end;
bei Dir jedoch  ServiceThread.ProcessRequests(False); Habe gerade meine 3einhalb Service durchgeschaut, bei mir heißt's immerServiceThread.ProcessRequests(True) und die verhalten sich (nach meinem Dafürhalten) alle ordentlich. Versuch' es doch bitte mal damit.
Zitat von Delphihilfe:
VCL-Referenz
ProcessRequests (Methode von TServiceThread)

TServiceThread Methoden Siehe auch

Ermöglicht es Clients, den Dienst aufzurufen, der mit einem bestimmten Thread verknüpft ist.

Delphi-Syntax:

procedure ProcessRequests(WaitForMessage: Boolean);

C++ Syntax:

void __fastcall ProcessRequests(bool WaitForMessage);

Beschreibung

Die Methode ProcessRequests von TServiceThread wird in der Methode Execute aufgerufen, nachdem jede Ausführung der Ereignisbehandlungsroutine für OnExecute eines zugehörigen Dienstes beendet ist. Im Entwicklerhandbuch finden Sie weitere Informationen darüber, wie sich die Dienstausführung durch Abspaltung einzelner Threads für jede Dienstanforderung optimieren läßt.
Verstehe ich das richtig, dass bei ServiceThread.ProcessRequests(False) keine Messages abgearbeitet werden? Wenn dem so ist, warum darf Dein Service die Messages nicht abarbeiten? Wie erfährt er, dass er beendet werden soll oder dass das Betriebssystem herunter gefahren wird?
  Mit Zitat antworten Zitat