Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.869 Beiträge
 
Delphi 12 Athens
 
#2

AW: vorhandene VCL Anwendung als Windows Dienst

  Alt 14. Mär 2025, 08:13
Grundsätzlich kannst du eine VCL-Anwendung als Dienst laufen lassen. Allerdings hast du keine Möglichkeit (mehr, früher gab es interaktive Dienste), deren Oberfläche zu sehen. Deshalb macht das wenig Sinn, ohne diese zu modifizieren.

Zur Steuerung eines Dienstes bietet sich eine Trayanwendung an, die im einfachsten Fall nur aus dem Icon und einem Konfigurationsfenster besteht. Diese kann dann mit dem Dienst kommunizieren. Oder der Dienst stellt eine Webanwendung bereit, die aus Sicherheitsgründen nur lokal abrufbar sein sollte. Ich persönlich habe die Dienst-Anwendung so gestaltet, dass je nach Aufruf (Dienstkontext oder Desktop) entweder ein Dienst gestartet wird oder ein VCL-Fenster angezeigt wurde. So konnte ich dort dann auch direkt Knöpfe zur Installation und Deinstallation des Dienstes anbieten.

Ein erster Umbau der Anwendung muss gar nicht so aufwendig sein, wenn die Oberflächenlogik einigermaßen von der Programmlogik getrennt ist. Wenn sich die Funktionalität natürlich um das Hauptfenster herum dreht, sprich dort der Dreh- und Angelpunkt ist, ist der Aufwand höher.

Ich würde in jedem Fall dazu raten, die Anwendung so umzubauen, dass sie ohne ein sichtbares Fenster ihre Arbeit verrichten kann. Sie kann durchaus Fenster unter der Haube nutzen, solange sie nicht sichtbar sein müssen. Das ist zwar nicht ideal, aber im ersten Schritt nicht schlimm.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat