易截截图软件、单文件、免安装、纯绿色、仅160KB

Delphi 类与对象内存结构浅析(附件1)

附件资料
*类的内存信息(代码)
示例:获取类信息
说明:比对通过类地址以及通过类方法获取信息的效果。
代码:
type
    TMyObject = class(TObject)
    private
        FData: Integer;
    protected
        procedure Test1;virtual;
        procedure Test2;dynamic;
    public
        procedure Test;
    published
        procedure Test3;
    end;
 
procedure TMyObject.Test;
var
    i:Integer;
begin
    ShowMessage('静态方法');
end;
 
procedure TMyObject.Test1;
begin
    ShowMessage('虚方法');
end;
 
procedure TMyObject.Test2;
begin
    ShowMessage('动态方法');
end;
 
procedure TMyObject.Test3;
begin
    ShowMessage('published方法');
end;
 
procedure TForm1.Button1Click(Sender: TObject);
    //---
    {procedure _ShowClassInfo(ALines: TStrings; AClass: TClass);
    begin
        with ALines do
        begin
            Add(Format('类指针地址: %d ', [Integer(AClass)]));
            //---
            if AClass.ClassParent = nil then
                Add('父类名: Nil')
            else
                Add(Format('父类名: %s', [AClass.ClassParent.ClassName]));
      


相关文档:

delphi 对 RES文件的使用

一、引子:
     现在的Windows应用程序几乎都使用图标、图片、光标、声音等,我们称它们为资源(Resource)。最简单的使用资源的办法是把这些资源的源文件打入软件包,以方便程序需要的时候调用。资源是程序的一部分,程序要正常运行就离不了资源文件。但是它是不可执行代码。
   &n ......

Delphi开发人员的编程习惯

关开发习惯的一些想法,如鲠在喉,不吐不快。究其发贴动机,当然不排除有骗取参与分的可能,但另一方面,也希望能给同行(念Xing)者提供一些建议,或者参考(希望不是误人子弟)。同时,也希望各位能够就我的这些陋习,发表一点看法,给出批评和指正的意见。谢谢。
一.建立工程目录
     &nbs ......

DELPHI GetWindowText 获取窗口标题

//声明:
GetWindowText(
hWnd: HWND; {窗口句柄}
lpString: PChar; {接收文本的缓冲区的指针}
nMaxCount: Integer {指定缓冲区大小, 其中包含NULL字符; 如果文本超出,会被被截断}
): Integer; {返回字符个数, 不包括中断的空字符; 如果标题为空或句柄无效, 则返回零}
//举例:
var
arr: ......

Delphi 能不能从Ring 3进入Ring 0

Delphi 能不能从Ring 3进入Ring 0?
楼主skyworld_xm(skyworld)2004-11-19 09:58:55 在 Delphi / Windows SDK/API 提问
Delphi   能不能从Ring   3进入Ring   0?  
  有例子吗?  
  多谢. 问题点数:100、回复次数:20Top
1 楼jinjazz(近身剪)回复于 2004-11-19 10:13:27 得 ......

Delphi 类与对象内存结构浅析(上)


参考资料
李战.《悟透delphi》,第1章“DELPHI的原子世界”
 “探索Delphi类与对象的内存结构”
基本知识
动态内存与静态内存
当程序运行时,系统首先将所有数据装载入内存,完成初始化,然后从入口地址开始执行代码。
程序装载后即存在于内存空间中的数据我们称之为静态内存,运行过程中 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号