Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr (https://www.delphipraxis.net/186421-delphi-7-dienst-startet-seit-ca-maerz-2015-nicht-mehr.html)

taveuni 2. Sep 2015 09:02

AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
 
Zitat:

Zitat von TPeterT (Beitrag 1314380)
Hauptsächlich von einem Dienst mit Systemkonto - allerdings mit sichtbare Forms.

Nein ist seit Vista nicht mehr möglich. Nimm mal ShowMessage raus und mach was anderes. Dann gehts.

nahpets 2. Sep 2015 09:19

AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
 
In der Systemsteuerung unter Dienste mal die Eigenschaften des Dienstes anschauen.
Gibt es unter Anmelden die Option "Datenaustausch zwischen Dienst und Desktop zulassen"?

Ist diese aktiviert? Wenn nein, mal ausprobieren.

TPeterT 2. Sep 2015 09:53

AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
 
Ohne Messagebox dasselbe: Start -> sofort wieder beendet.

Ja - Datenaustausch ist aktiviert!

taveuni 2. Sep 2015 13:19

AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
 
Start in der IDE oder Start des installierten Services?

baumina 2. Sep 2015 13:26

AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
 
Wenn ich Unter Delphi XE eine Service-Application beginne, kommt bei mir folgender Hinweis in der Program-Datei, keine Ahnung ob dich das weiter bringt, hab mich nicht näher damit befasst.

Delphi-Quellcode:
program Project20;

uses
  SvcMgr,
  Unit28 in 'Unit28.pas' {Service28: TService};

{$R *.RES}

begin
  // Windows 2003 Server requires StartServiceCtrlDispatcher to be
  // called before CoRegisterClassObject, which can be called indirectly
  // by Application.Initialize. TServiceApplication.DelayInitialize allows
  // Application.Initialize to be called from TService.Main (after
  // StartServiceCtrlDispatcher has been called).
  //
  // Delayed initialization of the Application object may affect
  // events which then occur prior to initialization, such as
  // TService.OnCreate. It is only recommended if the ServiceApplication
  // registers a class object with OLE and is intended for use with
  // Windows 2003 Server.
  //
  // Application.DelayInitialize := True;
  //
  if not Application.DelayInitialize or Application.Installing then
    Application.Initialize;
  Application.CreateForm(TService28, Service28);
  Application.Run;
end.

TPeterT 3. Sep 2015 05:43

AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
 
Beim Starten aus der IDE stoppt sofort - als Dienst installieren, deinstallieren funktioniert - aber startet auch nicht!


Schwer zu sagen wie das gemeint ist - vorallem der Dienst ist auf einem Server 2003 jahrelang gelaufen - eben bis März/April heurigen Jahres. Selbe Auffälligkeite auch auf meinem Entwicklungsrechner und weiteren Testrechnern. Deshalb war mein erster Gedanke, dass ein Update etwas umgestellt hat, was mit Services zu tun hat.

taveuni 3. Sep 2015 07:52

AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
 
Liste der Anhänge anzeigen (Anzahl: 1)
Irgendwie habe ich das Gefühl Du hängst noch bei der Applikation. Ich habe mal ein Demoprojekt angehängt. Compiliert mit XE2. Aber das sollte auch mit Delphi 7 gehen. Logischerweise sollte Dein Code dann nicht direkt im Execute ausgeführt werden. Dieser einfache Dienst kann nicht in der IDE ausgeführt werden. Wenn Du ihn aber (als Administrator) installierst, startest, stoppst usw. sollten die Ereignisse im Arbeitsverzeichnis geloggt werden.

Gruss Werner

TPeterT 3. Sep 2015 10:19

AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
 
Hallo!

Danke für die Mühe!

Musste die Zeile "if not Application.DelayInitialize or Application.Installing then" auskommentieren - diese funktioneirt in Delphi 7 scheinbar noch nicht.

LogFile:

--- install
03.09.2015 10:53:16: ServiceCreate
03.09.2015 10:53:16: ServiceBeforeInstall
03.09.2015 10:53:17: ServiceAfterInstall
03.09.2015 10:53:18: ServiceDestroy

-- Dienst starten
03.09.2015 10:59:36: ServiceCreate
03.09.2015 10:59:36: ServiceStart
03.09.2015 10:59:36: ServiceExecute start
03.09.2015 10:59:38: ServiceExecute - counter:0

-- Dienst stoppen
03.09.2015 10:59:52: ServiceExecute - counter:7
03.09.2015 10:59:54: ServiceExecute - counter:8
03.09.2015 10:59:54: ServiceStop
03.09.2015 10:59:56: ServiceExecute - counter:9
03.09.2015 10:59:56: ServiceExecute end
03.09.2015 10:59:56: ServiceDestroy

--- uninstall
03.09.2015 10:54:17: ServiceCreate
03.09.2015 10:54:17: ServiceBeforeUninstall
03.09.2015 10:54:17: ServiceAfterUninstall
03.09.2015 10:54:18: ServiceDestroy


Ich versuch mal das Logging in meiner Anwendung...
Vieleicht habe ich zuwenig Information gegeben: Ich habe zusätzlich nach dem Installieren/Starten des Dienstes ein Trayicon zum Öffnen einer Form mit diversen Labels zur Kontrolle.

taveuni 3. Sep 2015 10:27

AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
 
Zitat:

Zitat von TPeterT (Beitrag 1314530)
Ich habe zusätzlich nach dem Installieren/Starten des Dienstes ein Trayicon zum Öffnen einer Form mit diversen Labels zur Kontrolle.

Eben genau von dem musst Du dich seit Vista lösen. Die Interaktion mit dem Desktop hat nur bis und mit Windows XP funktioniert. Auch wenn der Service jetzt noch als interaktiv gekennzeichnet ist. Es geht nicht mehr. Im besten Fall läuft Dein Service weiter und die ganzen Forms, Dialogs und weiss der Geier was sonst noch werden einfach nicht angezeigt. Im schlechteren Fall führt das zu Problemen. Seit Vista muss eine Desktop Interaktion mit einem Dienst via Interprozesskommunikation realisiert werden.

TPeterT 3. Sep 2015 10:29

AW: Delphi 7 - Dienst - Startet seit ca. März 2015 nicht mehr
 
So: sehr interessant!

Wenn ma einen Dienst installiert erhält man die Meldung "Dienst installiert". Solange ich diese Meldung NICHT mit OK schliesse, läuft das Service einwandfrei (inkl. der Benutzer-Oberfläche).
Schliesse ich die Meldung, funktioniert der Dienst nicht mehr.

Unter Umständen ein Berechtigungsproblem möglich?


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 Uhr.
Seite 2 von 3     12 3      

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