2011-10-21 79 views
2

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

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

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

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

任何想法?

编辑:为了澄清,我正在通过启动windows服务进行调试,然后在等待添加到启动过程中附加到Delphi中的进程。编辑2:好的,它现在让我步入Application.Run和更多的细节在哪里,我想要的。我已经关闭调试dcus。通过VCL代码的思路并没有帮助我发现问题所在。我仍然不知道ServiceStartServiceExecute应该如何调用。

+0

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

回答

2

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

+0

因此它现在正在工作。我最终从头开始,以确保我在介绍它们时发现了错误。 (大部分代码都在一个单独的库中,所以我只是将它附加到服务应用程序中。)垮台似乎主要是我做出假设(工作目录不在exe的运行位置),并且没有捕获错误顶层。 –