2013-05-31 42 views
0

我有形式,在這裏我以編程方式FORMCREATE過程中創建按鈕:如何在Lazarus中將過程的地址作爲參數發送給另一個函數?

procedure TForm1.FormCreate(Sender: TObject); 
...  
    but := TButton.Create(Form1); 
    ... 
    but.OnClick := @OnMyButClick; 

凡OnMyButClick在

TForm1 = class(TForm) 
... 
procedure OnMyButClick(Sender: TObject); 

所有申報工作正常,但我想在我的主單元無法創建此按鈕,但在另一個單位併發送所有參數。所有參數發送好(像左,頂..),但我不能發送OnMyButClick程序的地址到我的新程序CreateMyButton();

問:如何在Lazarus中將過程OnMyButClick的地址作爲參數發送給另一個函數?

+1

'過程SetNotifyEventHandler(AEventHandler:TNotifyEvent; A按鈕:TButton的);'和'SetNotifyEventHandler(@OnMyButClick,MyBut);' – Abelisto

回答

1
procedure CreateMyButton(... ; ClickEvent: TNotifyEvent); 
begin 
    ... ; 
    Button.OnClick:=ClickEvent; 
end; 

調用它是這樣的:

CreateMyButton(... , @OnMyButClick); 
相關問題