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

撰寫元件時,變數共用的問題

答題得分者是:wayne_cheng
robert1014
初階會員


發表:34
回覆:85
積分:43
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-10-16 14:11:00 IP:61.222.xxx.xxx 未訂閱
程式大致如下 type TReceiveDataThread = class(TThread) private : : end; type TSMOX = class(TComponent) private GetData:TReceiveDataThread; protected public ClientSocket1:TClientSocket; : : end; 假設ClientSocket1不設成全域變數,是以上面的形式定議, 那在GetData的function裡,該如何的讀到ClientSocket1, 如下: constructor TReceiveDataThread.Create(CreateSuspended: Boolean); begin SMOX.ClientSocket1.... //無法如此使用 end; 難道一定要將 ClientSocket1 設成全域變數嗎? 請各位幫忙,提供點意見,是不是我觀念有錯 謝謝
wayne_cheng
一般會員


發表:1
回覆:19
積分:14
註冊:2002-07-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-10-17 17:41:55 IP:61.70.xxx.xxx 未訂閱
改寫 TReceiveDataThread.Create 將所需要的 TClientSocket 當作參數傳進去 發表人 - wayne_cheng 於 2002/10/17 17:45:30
robert1014
初階會員


發表:34
回覆:85
積分:43
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-10-17 23:13:58 IP:203.204.xxx.xxx 未訂閱
謝謝,這也是種可行的方法 但是由於不只一個物件、變數 所以沒有用此方法 這幾天想了一下,應該是.... 其實這種狀況,與寫成OCX所產生的情況是一樣的 也就是說寫成元件或OCX,若要共用變數,就必需 在implementation上定議 var SMO: TSMOX ; 以SMO繼承TSMOX,但此方式又不能直接在物件本體 上定議,所以必需另外新增一個UNIT,來作此部份 這樣問題應該就可以解決 這幾天,我再試試看........ 謝謝大家
系統時間:2024-05-18 13:27:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!