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]));
 
相关文档:
关开发习惯的一些想法,如鲠在喉,不吐不快。究其发贴动机,当然不排除有骗取参与分的可能,但另一方面,也希望能给同行(念Xing)者提供一些建议,或者参考(希望不是误人子弟)。同时,也希望各位能够就我的这些陋习,发表一点看法,给出批评和指正的意见。谢谢。
一.建立工程目录
&nbs ......
FindWindow(
lpClassName, {窗口的类名}
lpWindowName: PChar {窗口的标题}
): HWND; {返回窗口的句柄; 失败返回 0}
//FindWindowEx 比 FindWindow 多出两个句柄参数:
FindWindowEx(
Parent: HWND; {要查找子窗口的父窗口句柄}
Child: HWND; {子窗口句柄}
ClassName: PChar ......
//声明:
GetWindowText(
hWnd: HWND; {窗口句柄}
lpString: PChar; {接收文本的缓冲区的指针}
nMaxCount: Integer {指定缓冲区大小, 其中包含NULL字符; 如果文本超出,会被被截断}
): Integer; {返回字符个数, 不包括中断的空字符; 如果标题为空或句柄无效, 则返回零}
//举例:
var
arr: ......
Delphi中建议使用的语句
楼主zswang(伴水清清)(专家门诊清洁工)2002-05-15 13:37:54 在 Delphi / VCL组件开发及应用 提问
No.1 判断逻辑类型
var B: Boolean;
begin
B := Boolean(2); //这样只是为了调试//B ......
delphi指针简单入门:
看一个指针用法的例子:
1 var
2 X, Y: Integer; // X and Y 整数类型
3 ......