在自製 VCL 元件時,如何加入自製的 事件? |
尚未結案
|
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
|
StrongLemon
高階會員 發表:10 回覆:166 積分:105 註冊:2004-04-18 發送簡訊給我 |
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 發送簡訊給我 |
|
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
再請教前輩 要如何事件執行 取得[參數的值]
如
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 發送簡訊給我 |
|
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |