【问题标题】:Trouble getting windows service to start无法启动 Windows 服务
【发布时间】:2011-10-21 04:57:01
【问题描述】:

我无法启动 Windows 服务。每次它在 IDE 中作为服务运行或以其他方式运行时,Windows 事件日志中都会显示一个错误,说明:

“服务进程无法连接到服务控制器。”

调试时,我可以单步执行ServiceCreate 过程,并成功打印到那里的日志文件。但是,我在 ServiceStartServiceExecute 过程中有相同的代码(保存消息字符串),但它似乎永远不会运行。

调试器让我进入Application.CreateForm,它直接跳转到ServiceCreate 过程,但我无法进入Application.Run

有什么想法吗?

编辑:澄清一下,我通过启动 Windows 服务进行调试,然后在我添加启动的等待期间附加到 Delphi 中的进程。

编辑 2:好的,现在让我进入Application.Run 以及我想要的更多详细信息。我已经关闭了调试 dcus。思考单步执行 VCL 代码并不能帮助我了解问题所在。我仍然不知道应该如何调用 ServiceStartServiceExecute

【问题讨论】:

  • ServiceStart 或 ServiceExecute 被调用以响应服务控制管理器发送的消息

标签: delphi windows-services


【解决方案1】:

这是您收到的唯一错误消息?你的 pas 文件的初始化部分有什么代码?当引发错误并且您的应用程序没有捕获它时,通常会引发此错误。尝试记录来自应用程序的所有事件。此外,请查看 Windows 事件查看器以了解与此相关的更多详细信息。

【讨论】:

  • 所以它现在可以工作了。我最终从头开始,以确保我在介绍错误时发现了错误。 (大部分代码都在一个单独的库中,所以我只是将它附加到服务应用程序。)失败似乎很大程度上是我做出假设(工作目录不是 exe 运行的地方)并且没有捕获错误顶层。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 2015-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多