如果我只有类/ VMT地址,如何获取类的单元名称

mjn*_*mjn 6 delphi

当我读到这里,

VMT还包含许多"魔术"字段,以支持父类链接,实例大小,类名,动态方法表,已发布方法表,已发布字段表,RTTI表,魔术字段初始化表,不推荐使用的OLE等功能.自动化调度表和实现的接口表

看起来VMT不包含包含定义类的单元名称的字段.是否涉及一些"编译魔术"?

Uwe*_*abe 10

我不明白为什么VMT应该参与其中.TObject已经公开了一个class function UnitName.

System.TObject.UnitName

  • 对于早于D2009的版本,可以使用`typinfo.GetTypeData(TSomeClass.ClassInfo).UnitName` (9认同)