Einzelnen Beitrag anzeigen

Gremlin

Registriert seit: 18. Apr 2006
Ort: Im Süden
177 Beiträge
 
Delphi 7 Enterprise
 
#1

Services nur zu einem Zeitfenster den Stop zulassen

  Alt 7. Mär 2007, 18:28
Hallo,

ich hab hier einen kleinen Service, der nur zu einem bestimmten
Zeitfenster beendet werden darf, dh. ich möchte nur dann den
Stop über den Dienstemanager zulassen, wenn es wirklich geht und
der Dienst sich gefahrlos beenden kann.
Sollte dies momenten nicht möglich sein, dann sollte der Dienst
sich nicht beeenden, aber wenigstens versuchen seine Tätigkeit zu
beenden um bei einem 2. Stop-Aufruf für das Ende vorbereitet zu sein.

Dienst startet
- wartet auf Zeitpunkt (kann beendet werden)
- Zeitpunkt eingetroffen, Haupttätigkeit ausführen (kann nicht beendet werden)
- Haupttätigkeit ausführen + 1. Stopsignal (versucht sein Tätigkeit zu beenden)
- Haupttätigkeit ausführen + 2. Stopsignal (beendet wenn möglich)
- Dienst wartet auf neuen Zeitpunkt (wenn nicht gestoppt)


Das Problem ist folgendes:

Wenn ich das 1. mal Stop drücke, so setze ich im Stop-Event des
Dienstes die Variable Stopped auf False. Der Dienstemanager gibt
dann eine Fehlermeldung zurück. Versuche ich gleich darauf noch
einmal den Dienst zu beenden und der Dienst ist immer noch nicht
dazu bereit, dann erscheint wieder eine Fehlermeldung, aber der
Dienst ist trotzdem beendet. Wie kann ich dies verhindern


Gruss Gremlin.
  Mit Zitat antworten Zitat