請問動態產成的物件 method 要如何指定呢 |
尚未結案
|
蜻蜓草
一般會員 發表:22 回覆:30 積分:10 註冊:2002-03-18 發送簡訊給我 |
請問一下 動態產成的物件 method 要如何指定呢
小弟翻了以前的文章....可是還是看不懂~ 我想要在 function 裡的 物件裡 指定method 應該錯很多地方吧~~ 下面這段跟本過不了編譯器....我該怎麼改呢?? function diglist(acaption:string;astringlist:Tstringlist):string;
var form:tform;
ckecbox:Tchecklistbox; procedure MyMethod(sneder:tobject);
begin
//
end; begin Form := TForm.Create(Application);
with Form do
try
Canvas.Font := Font; ckecbox:=Tchecklistbox.create(form);
with ckecbox do
begin
Parent := Form;
items:=astringlist;
onclick:= MyMethod; <--------------------有問題
end; if ShowModal = mrOk then
begin
end;
finally
Form.Free;
end; end;
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
必須把 event handler 宣告為一個 object 的 method
而不是一個普通的 procedure, 例子如下:
type TForm1 = class(TForm) private procedure MyMethod(Sender: TObject); public { Public declarations } end; var Form1: TForm1; function diglist(acaption:string;astringlist:Tstringlist):string; var form: TForm; ckecbox: Tchecklistbox; begin Form := TForm.Create(Application); with Form do try Canvas.Font := Font; ckecbox:=Tchecklistbox.create(form); with ckecbox do begin Parent := Form; items := astringlist; onclick := Form1.MyMethod; end; if ShowModal = mrOk then begin end; finally Form.Free; end; end;--- 歡迎光臨 KTop 研究院 |
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
你好:
你也可以參考 Justmade版主 將一般獨立 procedure 指給Event 的技術文章。
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=30573
|
蜻蜓草
一般會員 發表:22 回覆:30 積分:10 註冊:2002-03-18 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |