物件函數的呼叫問題! |
答題得分者是:ccchen
|
zong
初階會員 發表:11 回覆:51 積分:42 註冊:2002-08-18 發送簡訊給我 |
請問各位前輩
我們都知道物件可以觸發好幾個事件!
小弟最近在簡化程式 在為以後維護做準備! 遇到了問題!
如我把所有button 經常會用的事件 要歸類成一個事件庫!
但這個事件庫 是獨立的pas 不寫成dll 也不用繼承!(因為一個from都繼承三次以上了)
如:事件庫 有一事件
BitBtnXX_Click(Sender: TObject);
Sender: TObject ==>要怎麼從另一個Tform 傳進來???
可以教教我好嗎??? 不然我好像每天在玩打字遊戯??
或是有比較好的繼承方法? 只單一繼承一class 或一事件??
|
andersonhsieh
版主 發表:33 回覆:531 積分:439 註冊:2002-06-10 發送簡訊給我 |
引言: 請問各位前輩 我們都知道物件可以觸發好幾個事件! 小弟最近在簡化程式 在為以後維護做準備! 遇到了問題! 如我把所有button 經常會用的事件 要歸類成一個事件庫! 但這個事件庫 是獨立的pas 不寫成dll 也不用繼承!(因為一個from都繼承三次以上了) 如:事件庫 有一事件 BitBtnXX_Click(Sender: TObject); Sender: TObject ==>要怎麼從另一個Tform 傳進來??? BITBTN.BitBtnXX_Click;即可 可以教教我好嗎??? 不然我好像每天在玩打字遊戯?? 或是有比較好的繼承方法? 只單一繼承一class 或一事件??@@~~飛翔在天際的精靈~~@@
------
@@~~飛翔在天際的精靈~~@@ |
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
要歸類成一個事件庫! 但這個事件庫 是獨立的pas 不寫成dll 也不用繼承
主要關鍵在事件都是Procedure of object, 即這些method均必須屬於某一物件,你可以照以下方式 1. 一個獨立的pas
unit EventLib; interface uses Dialogs; type TDumy=class(TObject) //宣告一個空的Class來包含所有事件庫 //所有事件, 不論此事件屬於何種類別均可 procedure ButtonClick(Sender: TObject); ... end; var dumy:TDumy; //宣告一global變數2. 在主程式(.dpr)(可由Project|View SOurce看到)中 Application.Initialize; dumy:=TDumy.create; //加此行來Create此物件 Application.CreateForm(TForm1, Form1); Application.Run;3. 用到這些事件之unit uses中加入EventLib procedure TForm1.FormCreate(Sender: TObject); begin button1.OnClick:=dumy.buttonclick;//將事件庫中之事件assign給指定物件 end; |
zong
初階會員 發表:11 回覆:51 積分:42 註冊:2002-08-18 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |