首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

200分问一个有关问题。怎么查知一个结构体各成员的值

2012-03-14 
200分问一个问题。如何查知一个结构体各成员的值。想实现象codesite那样的功能,程序运行期间将基本数据类型,

200分问一个问题。如何查知一个结构体各成员的值。
想实现象codesite那样的功能,程序运行期间将基本数据类型,对象公开的属性的值等发送出来,实现应用程序级别的调试,辅助实施人员,现场查找问题。

现在基本数据类型,对象公开的属性的值等已经基本实现,但是象结构体这样类型的值,如何知道呢??

[解决办法]
RTTI(Runtime time information)相关的资料,
看看 < <Inside VCL> > , < <delphi 6 开发人员指南> > .
[解决办法]
学习,帮顶
[解决办法]
关注一下,不懂
[解决办法]
深奥!连主问题都看不懂

[解决办法]
关注
[解决办法]

[解决办法]
顶一下
[解决办法]
//Delphi 的RTTI机制浅探
//http://blog.dream4dev.com/article.asp?id=37

RTTI 信息的结构定义在 TypInfo.pas 中:

TTypeInfo = record // TTypeInfo 是 RTTI 信息的结构
Kind: TTypeKind; // RTTI 信息的数据类型
Name: ShortString; // 数据类型的名称
{TypeData: TTypeData} // RTTI 的内容
end;

TTypeInfo 就是 RTTI 信息的结构。TObject.ClassInfo 返回指向存放 class TTypeInfo 信息的指针。Kind 是枚举类型,它表示 RTTI 结构中所包含数据类型。Name 是数据类型的名称。注意,最后一个字段 TypeData 被注释掉了,这说明该处的结构内容根据不同的数据类型有所不同。

TTypeKind 枚举定义了可以使用 RTTI 信息的数据类型,它几乎包含了所有的 Delphi 数据类型,其中包括 tkClass。

TTypeKind = (tkUnknown, tkInteger, tkChar, tkEnumeration, tkFloat,
tkString, tkSet, tkClass, tkMethod, tkWChar, tkLString, tkWString,
tkVariant, tkArray, tkRecord, tkInterface, tkInt64, tkDynArray);


//tkRecord 支持机构体,

热点排行