我寫了一個Service Application 程式,很簡單,里面只創建了一個執行緒TDataThread;
procedure TDataThread.Execute;
begin
while true do
begin
showmessage('我在執行');
Sleep(1000);
end;
end;
TService里面的代碼如下
DataThread: TDataThread;
procedure TAttServer.ServiceContinue(Sender: TService;
var Continued: Boolean);
begin
DataThread.Resume;
Continued := True;
end;
procedure TAttServer.ServicePause(Sender: TService; var Paused: Boolean);
begin
DataThread.Suspend;
Paused := True;
end;
procedure TAttServer.ServiceStart(Sender: TService; var Started: Boolean);
begin
DataThread := TDataThread.Create(False);
Started := True;
end;
procedure TAttServer.ServiceStop(Sender: TService; var Stopped: Boolean);
begin
DataThread.Terminate;
Stopped := True;
end;
現在的問題是,我編譯后,安裝啟動后,程式并沒有運行到執行緒的Execute,并沒有彈出訊息框。請問為什么呢?第一次研究Service Application,請高手指點一二。
uj5u.com熱心網友回復:
盡量不要用彈出界面的方式,service默認是不與UI互動的,你可以寫一段東西到文本中去或者什么的試試。uj5u.com熱心網友回復:
彈出訊息我只是做個測驗,看有沒有執行到這,但程式根本沒有執行到這,是不是我在TService少寫了什么事件啊?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/123414.html
標籤:語言基礎/算法/系統設計
