全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2320
推到 Plurk!
推到 Facebook!

如何在創建的線程中開啟表單並且執行

尚未結案
superforsin
一般會員


發表:6
回覆:8
積分:7
註冊:2015-05-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2016-05-05 10:32:44 IP:220.132.xxx.xxx 訂閱
各位新進大家好!由於個人自學找了G大師跟B大師,找不到想要的答案,所以又來打擾各位先進.我想要問的是,新建線程中如果加入一個表單執行,開啟表單時就會馬上閃一下就消失(隨線程結束而關閉).目前小弟有找到兩種方法讓線程中的表單持續運行第一種:藉由無限迴圈的方式讓線程不結束,這樣表單就不會被關閉,但是這樣很佔資原Form->Show(); while(true) {Sleep(500);Application->ProcessMessages();}第二種:使用VCL函數Application->Run();,讓程式執行到表單窗體關閉後,線程才跟著關閉,但是線程會整個塞車例如:當該表單窗體執行顯示後,在同進程不同線程的地方做其他的指令就會當掉(假設同進程各兩個不同線程的作業表單<假設!!!...>)Application->Initialize();Application->CreateForm(__classid(TForm1),&Form1);Application->Run();Form1=newTForm1(Application);Form1->Show();所以需求有以下幾點1.讓程式執行到表單窗體關閉後,線程才跟著關閉2.不像第一種方式那樣的佔資源3.同進程表單窗體切換時不會當掉以上,希望先進幫忙解答,感恩。
aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2016-05-05 16:42:10 IP:59.125.xxx.xxx 訂閱
抱歉,我的疑問是「為何需要在多線程中開啟 forms?」。有些時候問題的本身不一定要使用線程,使用線程又用了UI,通常問題很多。所以,如果能知道你的目的(不是指程式上的,是指想要達成怎樣的"效果"或是"顯示"),那方法可能很多。
------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
superforsin
一般會員


發表:6
回覆:8
積分:7
註冊:2015-05-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2016-05-08 09:07:30 IP:220.132.xxx.xxx 訂閱
我是看到有些程式外掛或遊戲外掛,他們使用DLL附加在Process方式(注入),然後可以用指定按鍵呼叫出功能控制的表單;所以我想知道如何達成的方式或原理



===================引 用 aftcast 文 章===================
抱歉,我的疑問是「為何需要在多線程中開啟 forms?」。有些時候問題的本身不一定要使用線程,使用線程又用了UI,通常問題很多。所以,如果能知道你的目的(不是指程式上的,是指想要達成怎樣的"效果"或是"顯示"),那方法可能很多。
系統時間:2024-04-25 20:02:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!