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

多執行緒程式

尚未結案
sun_chih_yen
一般會員


發表:40
回覆:33
積分:13
註冊:2003-10-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-03 06:33:41 IP:211.74.xxx.xxx 未訂閱
我目前製作一個多執行緒程式我在unit有放置一個edit那麼我又加入了一個多執行緒程式(unit2)可是我在unit2中的private內加入了myedit:tedit可是會出現錯誤無法執行我也有使用了file內的use use unit可是還是不行我到底是少了什麼設定呢???謝謝
azurecloud
中階會員


發表:52
回覆:108
積分:92
註冊:2003-09-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-12-03 16:20:17 IP:163.13.xxx.xxx 未訂閱
Hi,  sun_chih_yen 您好: 根據我之前的經驗,除了引用 unit 1 之外,還得在 Thread 的 constructor  中把 Edit 物件傳入,其他物件也是一樣,以下是我的例子 ***************************************************************** 宣告區: type   QueryThread = class(TThread)   private     { Private declarations }     FQuery : TQuery ;     FADOcommand : TADOcommand;     FStringgrid : TStringgrid;     FLabel : TLabel;   protected     procedure GiveAnswer; // 告訴主程式Query已完成     procedure Execute; override; // 執行Query的動作   public     constructor Create(AADOcommand : TADOCommand;AStringgrid:TStringgrid;ALabel:TLabel; AQuery :TQuery );   end; ********************************************************************* 程式區: constructor QueryThread.Create(AADOcommand : TADOCommand;AStringgrid:TStringgrid;ALabel:TLabel;AQuery : TQuery); begin FQuery := AQuery ; FADOcommand := AADOcommand; FStringgrid := AStringgrid; FLabel := ALabel; inherited Create(False); FreeOnTerminate := True; end; ********************************************************************* 接著你在 procedure QueryThread.Execute; 方法中就可操作所傳入的物件了 例如 FLabel.caption := '我的標題'; 希望對你有幫助,另外建議你在站內搜尋 Thread 和 執行緒,應該有許多的相 關文章。    ========================
我要努力向上~~[/h5] ========================
系統時間:2024-11-25 12:58:23
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!