![]() |
Lazarus --> TDaemon --> Startevents werden nicht ausgelöst
Hallo,
ich arbeite mit Lazarus unter Windows 7 64-Bit. Ich habe versucht einen 64-Bit Service mit TDaemon zu schreiben. Dafür habe ich das Package lazdaemon installiert und dann eine neue "Daemon (Service) application" erstellt. Dann habe ich im Mapper den entsprechenden Daemon hinzugefügt, dieser steht auch auf Enabled. Ich kann den Service auch problemlos installieren. Wenn ich dann aber versuche diesen zu starten, passiert das zwar laut Diensteverwaltung und ich kann den auch stoppen usw., aber es wird kein Event des Daemon ausgelöst. Testweise habe ich dort eine Logdatei geschrieben, so dass ich weiß, dass die Register-Prozeduren für den Mapper und den Daemon ausgeführt werden, leider aber nicht mehr. Weder OnStart noch OnStop noch OnExecute werden ausgelöst. Was muss ich noch machen? Habe ich etwas übersehen? (Mit echtem Debuggen wird es schwierig, da es einerseits Lazarus und andererseits ein Dienst ist... Das Verbinden mit einem Prozess soll zwar via gdb irgendwie gehen, aber ich habe keine Ahnung ob unter Windows und wenn ja wie.) Den Daemon anhängen wird wohl nicht viel bringen, da ich ja nur das gemacht habe was ich geschrieben habe. Crosspost: ![]() vielen Dank schon einmal, schönen Gruß, Sebastian |
AW: Lazarus --> TDaemon --> Startevents werden nicht ausgelöst
Welche Lazarus/FPC Version hast du denn?
evtl. schon mal im Bugtracker geschaut? ![]() |
AW: Lazarus --> TDaemon --> Startevents werden nicht ausgelöst
Ich habe:
lazarus-0.9.28.2-fpc-2.2.4-win64 Im Bugtracker gibt es einen entsprechenden Eintrag. Dort steht, dass die Unit lazdaemonapp dem Projekt hinzugefügt werden müsse. Das werde ich dann auf Arbeit gleich direkt mal schauen, ob die Unit nicht drin ist. Danke für den Hinweis, an den Bugtracker oder sowas hatte ich gar nicht gedacht, das könnte es sein. |
AW: Lazarus --> TDaemon --> Startevents werden nicht ausgelöst
So, also es liegt tatsächlich daran. Einfach die Unit lazdaemonapp aus (Lazarus)\components\daemon in das Projekt aufnehmen und es klappt...
Darauf soll mal jemand kommen... Also nochmal vielen Dank für den Hinweis auf den Bugtracker. :thumb: Nebenbei ist das offenbar auch der Grund weshalb das Beispiel gar nicht funktioniert (habs nicht getestet, aber da fehlt die Unit auch). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:22 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