VCL架构
starsky2006
这个作者很懒,什么都没留下…
展开
-
Delphi 类与对象内存结构浅析(上)
参考资料李战.《悟透delphi》,第1章“DELPHI的原子世界” “探索Delphi类与对象的内存结构”基本知识动态内存与静态内存当程序运行时,系统首先将所有数据装载入内存,完成初始化,然后从入口地址开始执行代码。程序装载后即存在于内存空间中的数据我们称之为静态内存,运行过程中分配的内存我们称之为动态内存。Delphi的类是由编译期间决定的,编译完成后即固定原创 2010-04-17 16:59:00 · 3463 阅读 · 2 评论 -
Delphi 类与对象内存结构浅析(下)
对象空间内存结构对象的内存结构是固定的,对象创建完成后就无法改变。它主要存储了对象直属类的地址(等价于类的VMT),对象本身的成员数据,对象的接口方法表地址。结构如图所示:说明:若类未声明接口,则对象空间不存储接口方法表地址。 类空间与对象空间的关系类空间与对象空间:示例:分析对象的基本内存结构代码:type IMyInterf原创 2010-04-17 17:12:00 · 1610 阅读 · 0 评论 -
Delphi 类与对象内存结构浅析(附件2)
*类的公开属性(代码)示例:访问类的published属性说明:vmtFieldTable(Published Field表)指向Published Field表有序排列,只存储当前类的PublishedField表,得到父类的Published Field表需要往上遍历。注意:只有类型是类或接口的数据成员才可定义为published的访问级别代码:type TMyO原创 2010-04-17 17:29:00 · 1334 阅读 · 0 评论 -
Delphi 类与对象内存结构浅析(附件1)
附件资料*类的内存信息(代码)示例:获取类信息说明:比对通过类地址以及通过类方法获取信息的效果。代码:type TMyObject = class(TObject) private FData: Integer; protected procedure Test1;virtual; proced原创 2010-04-17 17:18:00 · 1489 阅读 · 0 评论