Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Anwendung als Service (https://www.delphipraxis.net/100950-anwendung-als-service.html)

delphinia 5. Okt 2007 20:54


Anwendung als Service
 
Ich habe mich nun mit dem Thema Service beschäftigt.
Nach dem ich ich ja nicht über die SvcMgr verfüge, wurde ich auf
Assarbad's NT Service Tutorial verwiesen.

OK soweit....

Aber leider habe ich wenn ich das Demo "sample_svc" ausführe so wie es von Assarbad ist
eine 100%ige auslastung des Systems über die gesamte Dauer!
Das ist bisschen heftig!

Wen ich dann

Delphi-Quellcode:
 repeat
    if not paused then
    begin   end;
  until stopped;
entferne ist zwar keine 100%ige auslastung mehr aber auch erscheint eine Fehlermeldung!
Der Dienst wurde gestartet und dann angehalten............

Hmmm wer kann da helfen?


Ok noch eine Frage: Wie kann ich es verhindern, das der dienst manuelle gestartet/beendent werden kann?
oder gar die EXE per Taskmanager abgeschossen werden kann.
Mein vorbild ist da der Kaspersky AV - dieser lässt weder das abschiessen der EXE zu ( Der Vorgang konnte nicht beendet werden zugriff verweigert)
und bei dem Service sidn alle Buttons deaktiviert und das verändern der Startoption (Zugriff verweigert)

Apollonius 5. Okt 2007 21:00

Re: Anwendung als Service
 
Ich hatte vor kurzer Zeit auch das Problem mit dem fehlenden SvcMgr. Ich habe mir dann einfach Turbo-Delphi heruntergeladen, da ist es dabei.

delphinia 5. Okt 2007 21:02

Re: Anwendung als Service
 
kann ich diese einfach frech in mein Delphi 5 nehmen?
oder muss / Sollte ich ich den Service mit Turbo machen?! hmmmm kenne mich gar nicht aus mit Turbo


wo gibt es Turbo?

mkinzler 5. Okt 2007 21:05

Re: Anwendung als Service
 
www.turboexplorer.com

Phoenix 5. Okt 2007 21:09

Re: Anwendung als Service
 
Das mit der 100% CPU-Last ist logisch. Das ist ja auch eine Endlosschleife.
Entfernst Du diese Schleife, so läuft der Dienst durch seinen kompletten Programmcode durch, ist danach fertig - und wenn ein Programm fertig ist terminiert es. Also beendet sich der Dienst automatisch mit dem Ende der Methode.

Du könntest z.B. eine Pause in die Schleife einbauen, die nach einem Durchlauf immer x Sekunden wartet. Während der Wartezeit wird die Schleife nicht durchlaufen, und Deine CPU-Last sinkt dramatisch.

delphinia 5. Okt 2007 21:23

Re: Anwendung als Service
 
ok ich würde halt gerne prüfen ob meine anwendung aktiv wnen nicht wieder starten... wie würdet ihr das machen?!


Und was ist mit dem zweiten teil meiner Fragen das sichern der Anwenung?!

Phoenix 5. Okt 2007 21:31

Re: Anwendung als Service
 
Hrm. Das wirft Probleme auf. Ich lehne mich da jetzt zwar weit aus dem Fenster, aber ich bin mir ziemlich sicher, dass man aus einem Service heraus keine Anwendung für einen User starten kann.

Das Absichern: Keine Ahnung. Da müsstest Du Dich mal mit dem Service Control Manager im MSDN auseinandersetzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz