Announcement

Collapse
No announcement yet.

NT-Service Anwendung als Dienst ...

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • NT-Service Anwendung als Dienst ...

    Hallo,

    ich möchte gern eine Anwendung als NT-Service (Dienst) erstellen.
    Ich verfüge über Delphi 5 Enterprise. Dort habe ich auch schon
    über Projekt NEU die entsprechenden Informatinen für das Grund-
    gerüst gefunden. Nur weis ich beim besten willen nicht, wo ich
    zum Beilspiel den Code aufsetzte um z. B. eine Datenbankverbindung
    zu einen Interbase-Server zuerstellen. Letztlich würde mir ein
    Beipiel helfen, das Zeigt wie man einen Dienst startet, Verbindung
    zur einer DB aufbaut und dann wieder beendet.

    Ich habe das Buch von A.Kosch Win32 Lösungen.. aber solch ein Beispiel
    kann ich leider nicht finden.. auch im Demobereich von Delphi selbst ist
    nichts zu finden.

    Wer kann mir helfen ...?

  • #2
    Hallo,

    in meinem Buch <i>Delphi Win32-Lösungen</i> sind Beispiele für NT-Services (Seite 465...475). ;-)
    <br>
    Auf der CDROM kann man zum Beispiel folgende Sachen finden: <br>
    a) \Kapitel Services\WinNT\ProjectMStart.bpg = Starten eines NT-Services <br>
    b) \Kapitel Services\CodeCentral\MIDAS Server as Service = Borland-Beispielprojekt für einen Datenbankzugriff

    Zusammen mit Delphi 5 wird im Verzeichnis Source\VCL der Sourcecode vom <b>Borland Socket Server</b> (scktsrvr.dpr) ausgeliefert, der auch als NT-Service implementiert ist.
    &#10

    Comment


    • #3
      Hallo Herr Kosch,
      danke für die Hinweis, haben grundsätzlich weitergeholfen!
      Könnten Sie mir noch sagen, an welcher Stelle und zu welcher
      Zeit ich die Verbindung zu einen Interbaseserver aufbauen
      kann bzw. muß. Ich würde gern die IBX-Komponenten verwenden.

      Ich bekomme beim Start meines Dienstes immer einen Fehler
      angezeigt, sobald dich die Verbindung zur Datenbank aktevieren.
      (IBDatenbank.Connect:=True);

      Ich nutze Windows 2000, liegt es vielleicht am Benutzer? Habe
      auch schon das Administrator-Konto benutzt!
      Vielen Dan

      Comment


      • #4
        Hallo,

        wird beim Zugriff auf die InterBase-Datenbank die <i>loopback remote access method</i> (Bsp: <b>localhost:\DB\TEST.GDB</b>) verwendet

        Comment


        • #5
          Aber noch eine kurze frage, wenn ich einen einfachen
          Service schreibe z.B. einen Datensatz in die Datenbank
          einfüge klapt es wunderbar. Nun würde ich gern noch
          ein Formular haben, in dem ich bestimmte aktivitäten
          einstellen kann. Das Formular soll angezeigt werden,
          wenn ich PopUpMenu im (TryIcon) aufrufe ... Wo muß
          ich den Befehl eintragen, damit das Formular angezeigt
          wird ... Form1.ShowModal? Sobald ich diesen Befehl in
          der OnStart oder OnExecute aufrufe kann der Dienst nicht
          gestartet werden.

          Worin liegt eigentlich der Unterschied zwischen einen
          Service und einer Service-Anwendung

          Comment


          • #6
            Hallo,

            Windows NT verwendet das Prinzip der <b>Window Station</b> sowie der <b>Desktops</b>, um einzelne Benutzer voneinander abzuschotten. Ein sichtbares Programmfenster kann nur in der Window Station <b>WinSTA0</b> des interaktiv angemeldeten Benutzers angezeigt werden. Ein NT-Service wird als Dienst jedoch in der Regel in einem eigenen Konto ausgeführt, so dass er eine eigene (und somit für den interaktiv angemeldeten Benutzer unsichtbare) Window Station erhält. Es gibt zwar Mittel und Wege, trotzdem eine visuelle Ausgabe zu erreichen (Stichwort: Interaktion mit dem Desktop), aber eleganter ist die Aufteilung in 2 Teile: NT-Service und GUI-Anwendung

            Comment

            Working...
            X