2011-10-21 250 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的運行位置),並且沒有捕獲錯誤頂層。 –