2010-06-04 80 views
0

我們需要在我們開發的服務應用程序中啓動一個線程。如何在delphi 7,Windows XP中啓動線程到服務中?

我們在OnExecute事件中做了,失敗了,後來我們在OnStart事件中做了,並且再次失敗。也許我們不得不做其他事情來啓動線程。

我們只需鍵入的代碼行是MonitorThread.Start;

我們在哪裏以及如何啓動線程?

謝謝。

+4

「它失敗」是什麼意思? – 2010-06-04 15:17:54

回答

2

表面上看,在服務中啓動線程與在任何其他類型的應用程序中啓動線程沒有區別。簡單地實例化線程對象並讓它運行。如果您創建處於掛起狀態的對象,請在其上調用Start(或者,2010年之前版本中的Resume)。

MonitorThread := TMonitorThread.Create; 
MonitorThread.Start; // or MonitorThread.Resume 

如果不工作,那麼你就需要採取正好什麼不起作用一探究竟。檢查異常消息和返回代碼。使用調試器縮小範圍。

如果有可能,我建議你不是創建線程暫停。相反,只需在構造函數中提供它需要的所有參數即可。讓它自行初始化,並且它會在構造函數返回給調用者之前開始運行。線程對象之外不需要額外的線程管理。

相關問題