如何在Delphi 2010中使用RTTI创建对象实例?
众所周知,当我们像这样调用类的构造函数时: instance := TSomeClass.Create; Delphi编译器实际上做了以下几件事: 调用静态NewInstance方法 分配内…
具有指定值的枚举类型没有TypeInfo,为什么?
使用 Delphi 2007,我可以编写以下代码: interface TTestType = (ttTest1, ttTest2); procedure enumName; var EnumName: String; begin EnumName :=…
可以比较 RUNTIME_CLASS() 宏返回的指针吗?
我有一个函数,它需要 CRuntimeClass 指针列表来设置视图。如果使用已设置的相同类的列表调用该函数,我想返回而不执行任何操作。保存指针值并在下一…
使用 TValue 进行 Delphi 接口转换
我最近对接口和 D2010 RTTI 进行了广泛的实验。我在运行时不知道接口的实际类型;尽管我可以使用字符串访问它的限定名称。 请考虑以下情况: program …
Delphi RTTI无法找到接口
我正在尝试使用 D2010 RTTI 获取接口。 program rtti_sb_1; {$APPTYPE CONSOLE} {$M+} uses SysUtils, Rtti, mynamespace in 'mynamespace.pas'; var …
在 Mac OS X 上将带有或不带有 RTTI 的库与 GCC 混合使用?
我一直在解决一个问题,在我继续伤害自己之前,我想确认一下: 是否有可能有一个 GCC 项目使用使用或不使用 RTTI 编译的库? 例如,我有项目 A(未使…
需要了解优秀的 C++反射 API(用于运行时类型识别 -RTTI 和运行时调用)
我需要一个好的 C++ Reflection API(如 Microsoft API),它使我能够确定在运行时识别的类型(类、结构、枚举、int、float、double 等)、声明它们并…
我可以从字符串中获取 PTypeInfo 吗?
这可能会是“不”,但是有什么方法可以使用 Delphi 的 RTTI(旧式 RTTI 或 2010 扩展 RTTI)来传递包含类型名称的字符串,特别是枚举的名称类型,并让…
Delphi 2010 中的 Rtti 数据操作和一致性
有谁知道如何使用对原始数据的引用来制作 TValue ?在我的序列化项目中,我使用(如 XML-Serialization )一个通用序列化器,它将 TValue 存储在内部…
变体记录的 Rtti
我尝试用 Delphi 2010 编写一种对象/记录序列化器,想知道是否有办法检测记录是否是变体记录。例如,Types.pas 中定义的 TRect 记录: TRect = record…
Rtti 访问复杂数据结构中的字段和属性
正如 Delphi 2010 中的 Rtti 数据操作和一致性中已经讨论的那样可以通过使用一对 TRttiField 和实例指针访问成员来达到原始数据和 rtti 值之间的一致…
Delphi获取表单组件属性的值
我正在实现一个样板功能 - 允许用户在运行时更改某些组件的描述 - 例如 TLabel。 例如 TFooClass = Class ( TBaseClass) Label : Tlabel; ... End; Va…
在 c++ 中激活 RTTI
谁能告诉我在 unix 上工作时如何在 c++ 中激活 RTTI。 我听说它可以禁用和启用。 在我的unix环境中,我如何检查RTTI是否启用或禁用? 我在 HPUX 上使…