各位先進,如何在線程裏載入一個表單? |
答題得分者是:RedSnow
|
jean2004
初階會員 發表:69 回覆:80 積分:39 註冊:2004-12-18 發送簡訊給我 |
|
jean2004
初階會員 發表:69 回覆:80 積分:39 註冊:2004-12-18 發送簡訊給我 |
|
jean2004
初階會員 發表:69 回覆:80 積分:39 註冊:2004-12-18 發送簡訊給我 |
在下的線程代碼如下: DWORD WINAPI MyThread(LPVOID lpparam) { TForm2 *myform=new TForm2(NULL);//這個能編譯通過但是運行出錯,要如何修正? myform->ShowModal(); delete myform; //return true;//返回真 } void __fastcall TForm1::Button1Click(TObject *Sender) { DWORD dwthread; ::CreateThread(NULL,0,MyThread,(LPVOID)"",0,&dwthread);//啟動一個線程 }發表人 - jean2004 於 2005/11/20 07:46:48 |
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
jean2004 您好: 我對 Thread 並不是非常的熟悉,但是當初在學習這項技術的過程中,我記得一般的 VCL 可視元件均不屬於 thread-safe 的,因此在線程中需要操作與 VCL 元件有關的動作時,都應該要透過 Synchronize() 將那些動作交給 Main Thread 去執行,您可以查看一下 BCB Help 中的相關說明: thread functions, Execute method, -> Using the main VCL/CLX thread 另外;站上有關 multi-thread 的討論有蠻多的,您不妨搜尋來參考看看,以便釐清一些多線程處理的觀念性問題,我先幫您找了幾篇如下,一併瞧瞧吧:
什麼是 Thread-Safe 及如何測試?
http://delphi.ktop.com.tw/topic.php?topic_id=49776 關於使用多個Thread的問題?
http://delphi.ktop.com.tw/topic.php?topic_id=61342 如何解決多執行緒重入及鎖定的問題
http://delphi.ktop.com.tw/topic.php?topic_id=49583 請問一個多執行緒的Terminate及Synchronize的問題!!
http://delphi.ktop.com.tw/topic.php?topic_id=24198
7 天天敲鍵盤 v 時時按滑鼠 8
|
jean2004
初階會員 發表:69 回覆:80 積分:39 註冊:2004-12-18 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |