★★★★★高难度问题:怎样取得一个类中函数或过程在内存中的地址?★★★★★(20分)

  • 主题发起人 主题发起人 wyb_star
  • 开始时间 开始时间
W

wyb_star

Unregistered / Unconfirmed
GUEST, unregistred user!
我定义一个如类
Taa = class(TComponent)
private
protected
public
procedure GetAddress;
published
end;

var
abc:Taa;
begin
abc := Taa.Create(nil);
//怎样在这里取得abc中过程GetAddress在内存中的地址
abc.Free;
end;

要取得对象的地址话就好办了,直接"@abc.对象名"就得了,
但我想在运行时取得abc中过程GetAddress在内存中的地址,我不知道该怎么做
 
api函数GetProcAddress
 
abc就是对象的指针,
GetAddress的地址你看一下Delphi帮助中Object Pascal Reference/Memeory Managenet
/Class Types就知道了。
 
vmt-->public method table-->your method address
 
@@abc,可行?
 
多人接受答案了。
 
后退
顶部