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

物件函數的呼叫問題!

答題得分者是:ccchen
zong
初階會員


發表:11
回覆:51
積分:42
註冊:2002-08-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-16 21:32:23 IP:61.219.xxx.xxx 未訂閱
請問各位前輩 我們都知道物件可以觸發好幾個事件! 小弟最近在簡化程式 在為以後維護做準備! 遇到了問題! 如我把所有button 經常會用的事件 要歸類成一個事件庫! 但這個事件庫 是獨立的pas 不寫成dll 也不用繼承!(因為一個from都繼承三次以上了) 如:事件庫 有一事件 BitBtnXX_Click(Sender: TObject); Sender: TObject ==>要怎麼從另一個Tform 傳進來??? 可以教教我好嗎??? 不然我好像每天在玩打字遊戯?? 或是有比較好的繼承方法? 只單一繼承一class 或一事件??
andersonhsieh
版主


發表:33
回覆:531
積分:439
註冊:2002-06-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-16 23:20:56 IP:211.23.xxx.xxx 未訂閱
引言: 請問各位前輩 我們都知道物件可以觸發好幾個事件! 小弟最近在簡化程式 在為以後維護做準備! 遇到了問題! 如我把所有button 經常會用的事件 要歸類成一個事件庫! 但這個事件庫 是獨立的pas 不寫成dll 也不用繼承!(因為一個from都繼承三次以上了) 如:事件庫 有一事件 BitBtnXX_Click(Sender: TObject); Sender: TObject ==>要怎麼從另一個Tform 傳進來??? BITBTN.BitBtnXX_Click;即可 可以教教我好嗎??? 不然我好像每天在玩打字遊戯?? 或是有比較好的繼承方法? 只單一繼承一class 或一事件??
@@~~飛翔在天際的精靈~~@@
------
@@~~飛翔在天際的精靈~~@@
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-12-17 07:46:35 IP:61.219.xxx.xxx 未訂閱
要歸類成一個事件庫! 但這個事件庫 是獨立的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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-12-17 14:11:07 IP:61.219.xxx.xxx 未訂閱
感謝 ccchen 版主 上面的code 我test 過了! OK啦 這麼快速的! 解決了我的一大問題! 真是痛哭流涕! 特此銘謝!
系統時間:2024-05-06 2:29:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!