我说的运行时使用未知的类是像Delphi、CB的IDE那样,是基于包的,未知的类必须先编译到BPL,在初始化的时候调用RegisterClass/RegisterClasses注册了自己,然后使用包的程序就可以FindClass从字符串名获得类引用。但是前提是对方必须先把自己编译为二进制,在编译的时候还是需要知道相应的单元,所以如果要做到一个程序,输入任意类名,可以显示对应信息,那肯定是不行的。
Delphi类都有ClassParent、ClassName方法,所以列继承树是很简单的,运行时使用一个未知的类,要先RegisterClass/RegisterClasses
是啊,RTTI,不过有个问题,其实是可以查看任意组件的,包括原生的和第三方的,但是有个问题,必须在Form中添加对应的头文件和对应的Link。。。我不知道怎么动态添加 比如,第三方控件,FastReport,你必须添加任意一个 Fastreport 的控件到窗体上,然后窗体的头文件就会自动添加: #include "frxClass.hpp" 窗体的CPP文件就会自动添加一句: #pragma link "frxClass" 然后就可以查看了: [img=https://img-bbs.csdn.net/upload/201907/28/1564295734_535924. 但是,程序运行的时候,怎么添加啊。。 交给你们了,我懒。。。
552
社区成员
20,062
社区内容
加载中
试试用AI创作助手写篇文章吧