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

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

*类的公开属性(代码)
示例:访问类的published属性
说明:vmtFieldTable(Published Field表)指向Published Field表有序排列,只存储当前类的PublishedField表,得到父类的Published Field表需要往上遍历。
注意:只有类型是类或接口的数据成员才可定义为published的访问级别
代码:
type
    TMyObject = class(TObject)
    private
        FField1: Integer;
        FField2: string;
        FField3: array[0..2] of Integer;
    published
        Button1: TButton;
        Memo1: TMemo;
        Label1: TLabel;
    end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
    AObject: TMyObject;
    //---
    procedure _ShowDMTInfo(ALines: TStrings; AClass: TClass);
    var
        AClassAddress,AFTAddress: Integer;
        AFieldCount,AFieldIndex,AFieldOffset,AFieldNameLen: Integer;
        APos,i: Integer;
        AFieldName: ShortString;
    begin
        AClassAddress := Integer(AClass);
        with ALines do
        begin
            Add(Format('类名: %s ', [AClass.ClassName]));
            //---
            AFTAddress := Integer(PPointer(AClassAddress + vmtFieldTable)^);
            if AFTAddress = 0 then
       &n


相关文档:

Delphi开发人员的编程习惯

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

关于delphi中items和itemindex的问题

索引是itemindex
item是里面的内容
索引的话,是从0开始
item   itemindex
A      1
B      2
C      3
listbox1.items.count就是这个列表框里总共有多少项. ......

DELPHI GetClassName 获取指定窗口的类名

//声明:
GetClassName(
hWnd: HWND; {指定窗口句柄}
lpClassName: PChar; {缓冲区}
nMaxCount: Integer {缓冲区大小}
): Integer; {返回类名大小; 失败返回 0}
//测试1: 新建一个工程, 主窗口的类名默认是 TForm1, 用程序获取一下看看
var
ps: array[0..254] of Char;
begin
GetCl ......

delphi指针简单入门

delphi指针简单入门:  
   
  看一个指针用法的例子:  
  1         var  
  2             X,   Y:   Integer;       //   X   and   Y   整数类型  
  3 ......

Delphi中窗体响应按键步骤

1.因为KeyPreview默认是 False;我们这里需要响应键盘事件的话,需要将其修改为True;
所以KeyPreview:=True; 这对一些快捷键会有用。
在窗体属性上修改KeyPreview := True;
2.在窗体的FormKeyDown函数里写:
if KeyPreview then
    Form将先响应键盘事件(在TEdit等控件之前)
else
    除非Fo ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号