使用IdHTTP時程式沒有回應 |
尚未結案
|
cjqupru
一般會員 發表:5 回覆:11 積分:3 註冊:2007-06-14 發送簡訊給我 |
我寫了一個程式用IdHTTP來下載網頁的原始碼,
但是當程式正在下載的時候, 整個視窗就會沒有反應,直到下載完畢 後來我想到應該用Thread來作, 於是我找到了一些文章學習Thread, 也試著做了幾個例子,效果不錯, 但是用在IdHTTP上時,問題依舊存在, 不知道哪裡寫錯了?請大家賜教! 以下是我根據某個例子寫個程式碼: <textarea cols="60" rows="10" class="cpp" name="code"> __fastcall TDLCode::TDLCode(void):TThread(true) { Resume(); } //------------------------------------------------------- void __fastcall TDLCode::Execute(void) { FreeOnTerminate=true; while (!Terminated) { Synchronize(GetCode); DLCode->Terminate(); } } //------------------------------------------------------- void __fastcall TDLCode::GetCode(void) { Form1->Memo1->Text = Form1->IdHTTP1->Get(Form1->Edit1->Text); } //------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { DLCode = new TDLCode; } </textarea> |
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
cjqupru
一般會員 發表:5 回覆:11 積分:3 註冊:2007-06-14 發送簡訊給我 |
|
lu
高階會員 發表:11 回覆:189 積分:195 註冊:2003-11-19 發送簡訊給我 |
|
cjqupru
一般會員 發表:5 回覆:11 積分:3 註冊:2007-06-14 發送簡訊給我 |
的確!我只知道THREAD是用來作多執行緒的...
感謝您的建議! 我找個時間去書店逛逛^^ ===================引 用 lu 文 章=================== Multi Thread 的程式跟一般程式比起來限制比較多 例如:不可在其他THREAD之中直接操作FORM的可視物件,如下 Form1->Memo1->Text = "Test"; 看你的回答,大概就可以猜出來,你連THREAD是什麼都不是粉清楚 建議你先去找本書,搞清楚,什麼是THREAD,以及MULTI THREAD運作的機制,再來寫程式 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |