易截截图软件、单文件、免安装、纯绿色、仅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 对 RES文件的使用

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

怎样在Delphi中调用EXE文件


//加一下按钮,加一个对话框就OK啦
procedure TForm1.Button1Click(Sender: TObject);
var
S: String;
begin
if OpenDialog1.Execute then
begin
s := OpenDialog1.FileName;
WinExec( PChar(s), SW_NORMAL);
end;
end;

----------------------- ......

DELPHI GetClassName 获取指定窗口的类名

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

Delphi中建议使用的语句

Delphi中建议使用的语句
楼主zswang(伴水清清)(专家门诊清洁工)2002-05-15 13:37:54 在 Delphi / VCL组件开发及应用 提问
No.1   判断逻辑类型  
  var   B:   Boolean;  
  begin  
      B   :=   Boolean(2);   //这样只是为了调试//B ......

在DELPHI中实现无标题窗体的移动最简单的方法

在窗体的OnMouseDown事件中加入下面几行代码即可
If Button = mbleft Then
begin
ReleaseCapture;
SendMessage(MainForm.Handle,WM_NCLBUTTONDOWN,HTCAPTION,0);
end;
若窗体的表面被别的控件履盖掉,则需要把上面的代码加入履盖的控件里面。  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号