關於BCB 的Thread 開啟後就被關閉 |
缺席
|
w9190040
一般會員 發表:6 回覆:3 積分:1 註冊:2012-04-17 發送簡訊給我 |
請問各為大大一個有關Thread 的問題
我在執行一個Thread 執行方式為: ReadThread = new TRead(false); 這樣因該為建立Thread 後 都會一直存在這個執行緒。 但我使用 Debug windows 的Thread Status 觀察 Thread Status。 只有發現 他出現一下下 就消失了。 而我的Thread 的程式如下: __fastcall TRead::TRead(bool CreateSuspended) : TThread(CreateSuspended) { } //--------------------------------------------------------------------------- void __fastcall TRead::Execute() { //---- Place thread code here ---- DWORD dwBytesRead; FreeOnTerminate = true; ReadFile(hComm, InBuff, 50, &dwBytesRead, NULL); if(dwBytesRead) { InBuff[dwBytesRead] = 0; // NULL TERMINATE THE STRING Synchronize(DisplayIt); } } //--------------------------------------------------------------------------- void __fastcall TRead::DisplayIt() { frmDebug->lstReceive->Lines->Add(InBuff); } 請問各為大大 到底是哪裡出現問題 還是有甚麼方法 可以Debug呢 |
w9190040
一般會員 發表:6 回覆:3 積分:1 註冊:2012-04-17 發送簡訊給我 |
感謝各為大大的關心 問題以解決了
需要在Thread 內加入無限迴圈 就可以使 Thread 不停一直RUN下去 ===================引 用 w9190040 文 章=================== 請問各為大大一個有關Thread 的問題 我在執行一個Thread 執行方式為: ReadThread = new TRead(false); 這樣因該為建立Thread 後 都會一直存在這個執行緒。 但我使用 Debug windows 的Thread Status 觀察 Thread Status。 只有發現 他出現一下下 就消失了。 而我的Thread 的程式如下: __fastcall TRead::TRead(bool CreateSuspended) : TThread(CreateSuspended) { } //--------------------------------------------------------------------------- void __fastcall TRead::Execute() { //---- Place thread code here ---- DWORD dwBytesRead; FreeOnTerminate = true; ReadFile(hComm, InBuff, 50, &dwBytesRead, NULL); if(dwBytesRead) { InBuff[dwBytesRead] = 0; // NULL TERMINATE THE STRING Synchronize(DisplayIt); } } //--------------------------------------------------------------------------- void __fastcall TRead::DisplayIt() { frmDebug->lstReceive->Lines->Add(InBuff); } 請問各為大大 到底是哪裡出現問題 還是有甚麼方法 可以Debug呢 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |