線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1158
推到 Plurk!
推到 Facebook!

判斷Thread結束才繼續執行程式

尚未結案
palw
初階會員


發表:45
回覆:89
積分:26
註冊:2003-02-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-20 15:43:28 IP:211.78.xxx.xxx 未訂閱
您好,目前我遇到一個問題 for(i=0; iidtinfo = idtinfo; t[i]->scsidev = scsiinfo.SCSI_DEVICE[i]; t[i]->DevLogMemo = DymMemo[i]; t[i]->TTI = test_item_info; t[i]->FreeOnTerminate = true; t[i]->Resume(); } if (t[(int)scsiinfo.DeviceCount-1]->scsidev.EndRunCount==1) { ShowMessage("End Proc"); Application->ProcessMessages(); } 但是Thread一呼叫完 ,就會馬上執行下面的程式了,我希望是Thread執行完,下面的code才繼續執行,有什麼方法可以做到嗎?謝謝!
anpino
版主


發表:31
回覆:477
積分:231
註冊:2003-01-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-21 09:14:27 IP:218.32.xxx.xxx 未訂閱
那就把下面那一段放到thread所執行的function的最後不就好了。^^ [url="http://anpino.begin.8d8d.com"]Programmers Guide[/url] 數學系是內功很強(邏輯/分析) 資工系是招式很多(程式技巧) 就像令狐沖VS東方不敗:D
palw
初階會員


發表:45
回覆:89
積分:26
註冊:2003-02-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-11-21 09:36:07 IP:211.78.xxx.xxx 未訂閱
感謝anpino的指教,但是由於我要呼叫的這一段程式碼     
 
if (t[(int)scsiinfo.DeviceCount-1]->scsidev.EndRunCount==1)
{
ShowMessage("End Proc");
Application->ProcessMessages();
}     
的作用是要去重複呼叫Thread,所以寫在Thread內就變的很奇怪了.... 不過我昨天已經找到答案了, 就是在Form1設立一個變數,然後Thread一執行完就對變數作加一的動作,直到達到我要的個數時,就去呼叫上一段程式碼. 謝謝您的幫忙摟!
系統時間:2024-05-15 23:42:33
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!