Delphi 2010 RTTI - 如何获取索引属性列表?
我得到了 Cont := TRttiContext.Create; for Prop in Cont.GetType(TStrings).GetDeclaredProperties do Memo1.Lines.Add(Prop.ToString); Cont.Free;…
Delphi 2010 RTTI - RttiContext.FindType
使用 RttiContext.FindType('Classes.TStringList') 我可以毫无问题地获得 TStringList 的 RttiType 。但是使用 RttiContext.FindType('MyUnit.TMyCla…
什么是“身份指针”?在TTypeInfo之前有什么用?
如果您在 Delphi 内部进行了足够多的研究,您会发现一些奇怪的东西,并且显然没有关于编译器生成的 TTypeInfo 记录的记录。如果 PTypeInfo 指向地址 X…
C++ - 在没有 RTTI/dynamic_cast 的情况下向下转换菱形继承对象
我目前正在致力于在非 RTTI 平台(Android)上集成一个使用大量 RTTI 内容的第三方包。基本上,我做了自己的 RTTI 实现,但遇到了一个问题。 问题是很…
在运行时获取delphi记录中字段的偏移量
给定记录类型: TItem = record UPC : string[20]; Price : Currency; Cost : Currency; ... end; 以及字段名称作为字符串,如何获取该字段在记录中的…
Delphi 中的公共类成员和发布类成员有什么区别?
请有人解释一下 Delphi 中的公开类成员和发布类成员之间有什么区别? 我尝试查看 Delphi 帮助,我知道这些成员具有相同的可见性,但我不太了解它们有…
使用Delphi RTTI获取接口的字符串名称
我已经证明我可以使用 Delphi 2010 从其 GUID 获取接口的名称(例如 IMyInterface 转换为字符串“IMyInterface”。我想在 Delphi 7 中实现此目的(为…
如何在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)来传递包含类型名称的字符串,特别是枚举的名称类型,并让…