Die Herrausforderung: DCOM-Server in einen Service packen



  • Hallo Insider,

    wir haben hier einen selbergeschriebenen DCOM-Server am laufen. Dieser basiert auf den von Borland vorgegebenen Delphi-Interfaces und zusätzlichen selbergeschriebenen Funktionen. Nun ist es so, dass, wenn man sich mit einem Client auf diesem Server anmeldet, dieser automatisch gestartet wird und seine Arbeit aufnimmt.

    Wir haben uns nun überlegt das Ganze evtl. als Service, also benutzerunabhängig, umzuschreiben. Ein Service läuft aber bekannterweise ab Systemstart meißt ständig durch (autostart) und lauscht an einem bel. Port auf Kommandos (Bsp.: MySQL).

    1. Wäre es nun möglich mit Borlandmitteln, diesen DCOM-Server als Service umzuschreiben, also die normalerweise automatisch startenden Interfaces irgendwie in den ständig laufenden Service reinzupacken?

    2. Kann man aus einem Service heraus Fenster aufpoppen lassen und wenn ja, müßten diese doch auch ganz normal über irgendwelche Handles ansprechbar sein?

    MfG F98.



  • 1. Mit Borland-Mitteln lassen sich Dienste relativ einfach erstellen: Datei->Neu->Serviceanwendung.
    Ob das auch für DCOM Anwendungen gilt: Keine Ahnung, das kannst du aber sicherlich mal austesten.

    2. Eine Service-Anwendung sollte keine Fenster öffnen. Wenn nämlich kein User angemeldet ist, wird so ein Fenster auch nicht angezeigt. Ausserdem: Ein Dienst läuft immer mit Systemrechten.

    Wenn du dennoch Fenster aufpoppen lassen willst, würde ich empfehlen, eine extra Anwendung im autostart unterzubringen, die die Fenster anzeigen kann. Die Verbindung zum Dienst dann über interprocesskommunikation erledigen (OLE, PIPES, Shared Memory, etc.).



  • Burkhi schrieb:

    1. Mit Borland-Mitteln lassen sich Dienste relativ einfach erstellen: Datei->Neu->Serviceanwendung.

    Das ist mir schon klar. 😉 Meine Frage war mehr in der Richtung: Ist es generell möglich, ohne große Probleme, mit Borlandmitteln DCOM-Server-Funktionalität in einen Service zu packen?

    Burkhi schrieb:

    Ob das auch für DCOM Anwendungen gilt: Keine Ahnung, das kannst du aber sicherlich mal austesten.

    Nunja, bevor wir uns hier anfangen einen abzubrechen, wollte ich erstmal ein paar Meinungen zum Thema hören.

    Burkhi schrieb:

    Wenn du dennoch Fenster aufpoppen lassen willst, würde ich empfehlen, eine extra Anwendung im autostart unterzubringen, die die Fenster anzeigen kann. Die Verbindung zum Dienst dann über interprocesskommunikation erledigen (OLE, PIPES, Shared Memory, etc.).

    Sowas haben wir uns auch schon überlegt, ist sicherlich am sinnvollsten.


Anmelden zum Antworten