Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Innerhalb eines Dienstes den Dienst selber beenden ?! (https://www.delphipraxis.net/77829-innerhalb-eines-dienstes-den-dienst-selber-beenden.html)

DataCool 25. Sep 2006 14:32


Innerhalb eines Dienstes den Dienst selber beenden ?!
 
Hi Leute,

ich habe einen Dienst der auf diversen Clients läuft.
Der Dienst ist von mir geschrieben und soll von Zeit zur Zeit auch upgedated werden.
Das führt mich zu dem Problem, das sich der Dienst bei einem bestimmten Kommando selbst beenden soll.
Damit meine Aktualisierung auch dann funktioniert, wenn der angemeldete Windows User nicht die Berechtigung hat den Dienst zu stoppen.

Hat jemand ne Idee ?

Danke und Gruß

Data

m.wollert 25. Sep 2006 15:01

Re: Innerhalb eines Dienstes den Dienst selber beenden ?!
 
Hi,

wenn ich mich recht entsinne ist ein Dienst nichts anderes als eine ständige Schleife. Diese Schleife kannst Du mit Abbruchbedingungen simpel gezielt beenden.

Grüße!

DataCool 25. Sep 2006 15:04

Re: Innerhalb eines Dienstes den Dienst selber beenden ?!
 
Hi,

dachte ich mir auch, allerdings habe ich kein Application.terminate oder ähnliches !

Gruß Data

Phoenix 25. Sep 2006 15:11

Re: Innerhalb eines Dienstes den Dienst selber beenden ?!
 
Urgs. Das wär ja auch Fatal.

Du musst den Status des Dienstes auf Stopped setzen. Damit beendet sich die Schleife selber.

DataCool 25. Sep 2006 15:26

Re: Innerhalb eines Dienstes den Dienst selber beenden ?!
 
Hi,

besten Dank Phoenix das wars was ich gesucht habe.

Gruß Data

emsländer 9. Jul 2008 10:08

Re: Innerhalb eines Dienstes den Dienst selber beenden ?!
 
Zitat:

Zitat von Phoenix
Urgs. Das wär ja auch Fatal.

Du musst den Status des Dienstes auf Stopped setzen. Damit beendet sich die Schleife selber.

Mit welchen Parametern wird das gemacht? stopped ist nicht definiert, false geht auch nicht

if bedingung then xyzservice.status := ?

Gruss

EL

Dezipaitor 9. Jul 2008 10:40

Re: Innerhalb eines Dienstes den Dienst selber beenden ?!
 
Nein, du musst aus der Execute Methode rauskommen. Damit ist der Dienst beendet.

DataCool 9. Jul 2008 10:51

Re: Innerhalb eines Dienstes den Dienst selber beenden ?!
 
@Emsländer:

self.Status := csStopped;

csStopped ist in der Unit "SvcMgr" definiert(ist bei mir in DElphi6 so)

Gruß DAta

emsländer 9. Jul 2008 11:33

Re: Innerhalb eines Dienstes den Dienst selber beenden ?!
 
Zitat:

Zitat von DataCool
@Emsländer:

self.Status := csStopped;

csStopped ist in der Unit "SvcMgr" definiert(ist bei mir in DElphi6 so)

Gruß DAta

Klappt!

Danke

Gruss

EL


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:13 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