Zum Inhalt springen

Delphi 5: Dienst mit Service-Anwendung erstellen


Pointerman

Empfohlene Beiträge

Moin!

Ich möchte einen Dienst mit Delphi 5 Enterprise schreiben. Ich habe dazu unter "Datei/Neu" einfach mal "Service-Anwendung" ausgewählt und mit ein bischen Quelltext gefüllt. Genauer gesagt, ich will im Event "OnExecute" ein einfaches "Hallo Welt" ausgeben lassen. Dummerweise tut sich gar nichts.

Was habe ich vergessen?

Delphi-Dienst-Profis vor!

P.S.: Der Dienst wird durch c:\Dienst /install erfolgreich installieren und /uninstall funzt auch.

Link zu diesem Kommentar
Auf anderen Seiten teilen

HummHomm!

Ich hab interacitv mal probehalber auf True gesetzt, daß hat aber auch nichts gebracht. Wird eigentlich OnExecute automatisch ausgeführt, wenn ich den Dienst mit /install installiere, oder muss man den noch zusätzlich starten?

Ach und dann ist mir noch etwas seltsames aufgefallen:

Wenn ich mir im Taskmanager die Prozesse angucke, dann ist mein Dienst da nur kurz zu sehen, wenn ich die Nachrichten "Dienst wurde erfolgreich installiert" bzw "...deinstalliert" bekomme. Irgendwelche Ideen? Oder Tutorials? Die Delphi-Hilfe finde ich recht undurchschaubar und beim googeln bin ich immer nur auf Tuts gestossen, die das ganze ohne Delphi-Bordmittel erledigt haben. Des ist mir aber zu umständlich.

Dank sowohl im Nachhinein als auch im Voraus!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Pointerman

Wird eigentlich OnExecute automatisch ausgeführt, wenn ich den Dienst mit /install installiere, oder muss man den noch zusätzlich starten?

TService.OnExecute

Occurs when the thread associated with the service starts up.

[...]

When the OnExecute event handler finishes, the service thread terminates. Most OnExecute event handlers contain a loop that calls the service thread’s ProcessRequests method so that other service requests are not locked out.

OnExecute wird dann ausgeführt wenn der Service startet, sobald OnExecute abgeschlossen ist wird der Service beendet. Deine Meldung kommt durch das OnBeforeInstall Event.

Und ein Service wird dann gestartet, wenn er gestartet wird, nciht wenn er installiert wird ;) Sprich nach dem Install siehst du dir mal die Services von windows an und suchst dort deinen. Da steht dann, dass er automatisch startet oder manuell. Automatisch heisst, bei Start von Windows. Du kannst den Service dort aber auch (auch wenn er auf Auto steht) manuell starten.

Ich hab in der OnExecute Prozedur ganz normalen Code und am Ende:


  while not Terminated do

   ServiceThread.ProcessRequests(True);

Das wars auch schon, und der funktioniert.

(Ich glaub aber der Code oben ist nicht unbedingt notwendig bzw. nur wenn du eine Schleife benutzt und der Service lange läuft (oder die ganze Zeit halt).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi!

Vielen Dank, jetzt funzt es!

Kaum macht man es richtig, funktioniert es!

Er hat ja den Dienst installiert, aber ich konnt ihn nicht im Taskmanager sehen. War ja auch kein Wunder, weil er nicht installiert war. In der MMC/Dienste konnt ich ihn auch nicht finden, aber aus reiner BLÖDHEIT! Ich hab nicht dran gedacht, daß mein Dienst anders heißt, als die .exe, die ich erzeugt habe. Also nach Deiner Antwort nochmal reingeschaut, gefunden, gestartet und es läuft!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...