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

方便使用的多執行緒函式MyThread()

 
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-10 12:32:56 IP:220.134.xxx.xxx 未訂閱
您是否覺得使用TThred(多執行緒)很麻煩,需要一堆的設定, 站長寫了一個方便的函式: procedure MyThread(ExecuteEvent:TNotifyEvent;TerminateEvent:TNotifyEvent=nil); 使用方式如下:
uses UnitMyThread;    procedure TForm1.Button1Click(Sender: TObject);
begin
  MyThread(Button2Click,nil); // 設定Thread
end;    procedure TForm1.Button2Click(Sender: TObject);
begin
 // 要在Thread中的執行程式放在此
end;    
這樣就可以用一行指令搞定Thread 程式範例附上供大家參考 ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
附加檔案:76536_MyThread.rar
babyfish0226
一般會員


發表:9
回覆:82
積分:23
註冊:2002-06-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-11 11:43:41 IP:221.169.xxx.xxx 未訂閱
超感謝,每次想到用Thread就懶,感謝站長的分享。
juneo
高階會員


發表:103
回覆:190
積分:118
註冊:2004-05-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-09-12 11:40:14 IP:211.75.xxx.xxx 未訂閱
請教關於My Thread以下問題 1.請問My Thread一定必須使用於物件內的程序嗎?不能使用在自建Function? 備註:U01_F,U02_F 內必須用Button3Click將Function包裝後才可用My Thread 2.當使用fsMDIChild是否可以用My Thread來建立? 3.Main_F中的Thread_From1,Thread_From2如何才能順利建立? 由於剛剛接觸Thread,看了很多書還是看不太懂,看到站長的分享超棒,但使用後有以上疑問,煩請知道的幫忙ㄧ下,謝謝。 該求助程式放置於 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=78235 數學 程式 經驗=不懂^^
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-09-12 12:06:55 IP:220.134.xxx.xxx 未訂閱
引言: 請教關於My Thread以下問題 1.請問My Thread一定必須使用於物件內的程序嗎?不能使用在自建Function? 備註:U01_F,U02_F 內必須用Button3Click將Function包裝後才可用My Thread 2.當使用fsMDIChild是否可以用My Thread來建立? 3.Main_F中的Thread_From1,Thread_From2如何才能順利建立? 由於剛剛接觸Thread,看了很多書還是看不太懂,看到站長的分享超棒,但使用後有以上疑問,煩請知道的幫忙ㄧ下,謝謝。 該求助程式放置於 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=78235 數學 程式 經驗=不懂^^
1.理論上是可以但要改寫程式,因為採用TNotifyEvent,定義為 type TNotifyEvent = procedure(Sender: TObject) of object; 所以必需是object 如果改為 type TNotifyEvent = procedure(Sender: TObject) ; 應該可以,但還有相關程式需修改 您可以將您自訂的function 寫入TForm中 2.fsMDIChild用在Thread不適當,一般Thread是用在可以在有限時間內自動結束的程式,mdi form是由user決定是否關閉的 3.不建議這樣用 ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
juneo
高階會員


發表:103
回覆:190
積分:118
註冊:2004-05-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-09-13 11:31:51 IP:220.130.xxx.xxx 未訂閱
感謝站長回覆 改正了一些觀念,謝謝 數學 程式 經驗=不懂^^
enter2004
初階會員


發表:51
回覆:94
積分:34
註冊:2005-04-10

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-10-23 21:16:10 IP:218.168.xxx.xxx 未訂閱
good! 但是我沒學過Delphi >"< 希望有人能夠寫個BCB的版本...謝謝
------
人生就像泡泡一樣,乘著風被吹著跑,等你發現時已經消失了。
就在快要消失的瞬間,希望能再飛高一點,
但是回神時總是慢了一步。
SENFO
一般會員


發表:13
回覆:22
積分:7
註冊:2006-07-10

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-03-14 13:54:07 IP:61.219.xxx.xxx 訂閱
站長是否可以寫一個BCB版的提供BCB的使用者使用,謝謝
andyCSH
一般會員


發表:0
回覆:1
積分:0
註冊:2015-03-16

發送簡訊給我
#8 引用回覆 回覆 發表時間:2015-03-31 11:16:01 IP:60.250.xxx.xxx 訂閱
站長您好,謝謝你提供的多執行緒的函式,
我是Delphi的新手,在使用此函式時有小疑問想請問站長。
請問站長在使用您提供的多執行緒函式時,當放在Thread內的程式執行完後,
需要使用ExitThread離開或是Free釋放Thread嗎??
因為我想使用My Thread複製檔案,
然後主程式使用while執行Application.processmessages等待My Thread複製檔案結束。
在結束複製檔後My Thread是需要離開或釋放嗎?
麻煩站長大大幫忙解惑!!!!

編輯記錄
andyCSH 重新編輯於 2015-03-31 11:17:17, 註解 無‧
系統時間:2024-04-27 7:47:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!