有没有办法在Delphi 7中获取旧样式(Borland Pascal)对象实例的类
发布时间:2020-12-15 04:08:05 所属栏目:大数据 来源:网络整理
导读:我班上有很多后代: PMyAncestor =^TMyAncestor;TMyAncestor = object public constructor init; destructor done; virtual; // There are virtual methods as wellend;PMyDescendant1 =^TMyDescendant1;TMyDescendant1 = object ( TMyAncestor )end;PMyDesc
我班上有很多后代:
PMyAncestor =^TMyAncestor; TMyAncestor = object public constructor init; destructor done; virtual; // There are virtual methods as well end; PMyDescendant1 =^TMyDescendant1; TMyDescendant1 = object ( TMyAncestor ) end; PMyDescendant2 =^TMyDescendant2; TMyDescendant2 = object ( TMyAncestor ) end; PMyDescendant3 =^TMyDescendant3; TMyDescendant3 = object ( TMyDescendant2 ) end; procedure foo; var pMA1,pMA2,pMA3,pMA4 : PMyAncestor; s : string; begin pMA1 := new( PMyAncestor,init ); pMA2 := new( PMyDescendant1,init ); pMA3 := new( PMyDescendant2,init ); pMA4 := new( PMyDescendant3,init ); try s := some_magic( pMA1 ); // s := "TMyAncestor" s := some_magic( pMA2 ); // s := "TMyDescendant1" s := some_magic( pMA3 ); // s := "TMyDescendant2" s := some_magic( pMA4 ); // s := "TMyDescendant3" finally dispose( pMA4,done ); dispose( pMA3,done ); dispose( pMA2,done ); dispose( pMA1,done ); end; end; 有没有办法获取其后代实例的类名?我不想因为这个原因创建一个虚方法(有成千上万的后代). 解决方法
当我编译此代码并在编译的可执行文件中搜索类的名称时,找不到它们.
由此我得出结论,你要做的事情是不可能的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |