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

在自製 VCL 元件時,如何加入自製的 事件?

尚未結案
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-16 00:18:28 IP:61.70.xxx.xxx 未訂閱
請教各位前輩 在自製 VCL 元件時,如何加入自製的 事件 及如何去 觸發事件 ?? 謝謝 各位前輩
StrongLemon
高階會員


發表:10
回覆:166
積分:105
註冊:2004-04-18

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-16 02:36:36 IP:210.68.xxx.xxx 未訂閱
1.如果是要接收自訂訊息,例如CM_XXX,那我建議你去買李維大師寫的Inside VCL的書看,比上網來問會更有全盤瞭解。    2.如果只是要自訂事件
type    TROnProcess = procedure (ASender: TObject;ATotal,ACurrent:Integer) of
          object;    TTEST= class
private
  FOnProcess: TOnProcess;
public
  procedure DoSomething();
published
  property OnProcess: TOnProcess read FOnProcess write FOnProcess;
end;    implementation    procedure TTEST.DoSomething();
begin
   ....
   if Assigned(FOnProcess) then FOnProcess(...);
   ...
end;        
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-10-16 07:02:04 IP:61.70.xxx.xxx 未訂閱
謝謝 前輩 !    你說的因該就是我要的,我試試,有問題再請教    李維大師寫的Inside VCL 我有買了,但消化不良
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-10-16 07:24:13 IP:61.70.xxx.xxx 未訂閱
再請教前輩    要如何事件執行 取得[參數的值] 如 procedure TJFDBFormOption.DoSomething(); var int1 : Integer; int2 : Integer; begin  //  ....    if Assigned(FOnProcess) then FOnProcess(nil,int1 ,int2);   // ...    showmessage(inttostr(int2)) end;    我再在事件之後取得 int2 的值 在FOnProcess事件的程式如下: procedure TForm1.JFDBFormOption1Process(ASender: TObject; ATotal,   ACurrent: Integer); begin   ACurrent:=99  ; end;    如何在 showmessage(inttostr(int2))顯示 99 ??    謝謝各位前輩.. < >< >
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-10-16 10:15:19 IP:61.222.xxx.xxx 未訂閱
補一下:有分請給StrongLemon 大大。 >如何在 showmessage(inttostr(int2))顯示 99 ?? 將原事件帶入參數,改為 by Reference 就可以了 type TROnProcess = procedure (ASender: TObject;ATotal:integer;Var ACurrent:Integer) of object;
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-10-16 21:41:43 IP:61.70.xxx.xxx 未訂閱
引言: 補一下:有分請給StrongLemon 大大。 >如何在 showmessage(inttostr(int2))顯示 99 ?? 將原事件帶入參數,改為 by Reference 就可以了 type TROnProcess = procedure (ASender: TObject;ATotal:integer;Var ACurrent:Integer) of object;
可以了真是太感謝兩位前輩了..............
系統時間:2024-05-17 13:32:06
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!