如何執行 類別內的 某函數, 而不用函數名? |
答題得分者是:pgdennis
|
sams
一般會員 ![]() ![]() 發表:18 回覆:20 積分:12 註冊:2003-04-14 發送簡訊給我 |
|
ha0009
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
|
sams
一般會員 ![]() ![]() 發表:18 回覆:20 積分:12 註冊:2003-04-14 發送簡訊給我 |
[quote]
with xx do begin
if tt then
[/code] 先謝謝 ha0009 的回應.. 可能是題意不清, 我是想取出某函數的位址(或其他), 再依據取出的
東西, 去執行某函數.. 剛才小弟查了一下資料, 可用 MethodAddress 取出某函數的位址,
且函數可以執行, 但是傳進去的參數有誤, 請問要怎麼改才好呢? Tcs001= class(TObject)
published
function tt(i: integer): Boolean;
procedure aa;
end; procedure Tcs001.aa;
type func= function(i: integer): boolean;
var pp: func;
begin
pp:= Tcs001.MethodAddress('tt');
pp(1000);
end; 發表人 - sams 於 2003/11/04 13:14:37
|
pgdennis
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:41 回覆:526 積分:443 註冊:2002-05-23 發送簡訊給我 |
Tcs001= class(TObject)
published
function tt(i: integer): Boolean;
procedure aa;
end; procedure Tcs001.aa;
type func= function(i: integer): boolean;
=>type func= function(i: integer): boolean of obejct;
var pp: func;
begin
pp:= Tcs001.MethodAddress('tt');
=>@pp:= Tcs001.MethodAddress('tt');
pp(1000);
end;
http://www.delphipraxis.net/post87477.html
參考一下
------
星期一,二...無窮迴圈@@ |
pgdennis
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:41 回覆:526 積分:443 註冊:2002-05-23 發送簡訊給我 |
Tcs001= class(TObject)
published
function tt(i: integer): Boolean;
procedure aa;
end; procedure Tcs001.aa;
type func= function(i: integer): boolean;
=>type func= function(i: integer): boolean of object;
var pp: func;
begin
pp:= Tcs001.MethodAddress('tt');
=>@pp:= Tcs001.MethodAddress('tt');
pp(1000);
end;
http://www.delphipraxis.net/post87477.html
參考一下
------
星期一,二...無窮迴圈@@ |
ha0009
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
|
sams
一般會員 ![]() ![]() 發表:18 回覆:20 積分:12 註冊:2003-04-14 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |