问题标签 [rtti]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - Delphi OTA 和 RTTI 错误
我正在写一个德尔福专家。我需要能够将值写入作为对象的属性上的属性。例如,我在表单上有一个 GroupBox,我想编辑 Margins.Left 属性。我正在使用以下过程来执行此操作,但如果在标记线上给出了 AV。
该过程从(属性编辑器)获取属性名称(例如“Margins.Left”)和新值的组件,解析出属性名称,获取对象,读取当前值并尝试更改它(如果不同)。然后它调用一个方法来记录任何更改。
delphi - Delphi中对象的RTTI
我正在尝试在 Delphi 中将对象解析为 XML,因此我阅读了有关调用对象的 ClassInfo 方法以获取其 RTTI 信息的信息。
问题是,这显然只适用于 TPersistent 对象。否则,我必须在源代码中专门添加一个编译器指令 {$M+},以便编译器生成 RTTI 信息。
所以我很高兴地添加了指令,结果发现,即使它确实从 ClassInfo 调用中返回了一些东西(它曾经返回 nil),现在我无法从中检索类的属性、字段或方法。就像它创建的对象是空的。
知道我在这里想念什么吗?谢谢!
c# - is vs typeof
这些代码中哪一个更快?
编辑:我知道他们不做同样的事情。
c++ - C++ RTTI 可行的例子
我熟悉 C++ RTTI,并且觉得这个概念很有趣。
仍然存在很多滥用它的方法而不是正确使用它(RTTI-switch 恐惧浮现在脑海中)。作为一名开发人员,我发现(并使用)它只有两个可行的用途(更准确地说,一个半)。
您能否分享一些 RTTI 是解决问题的可行方法,包括示例代码/伪代码?
注意:目的是建立一个可供初级开发人员参考、批评和学习的可行示例库。
编辑:你会发现下面的代码使用 C++ RTTI
delphi - 在运行时复制组件
有没有一种简单的方法可以复制父组件下的所有子组件,包括它们的已发布属性?
例如:
- 面板
- 标签
- 编辑
- 列表视图
- TSpecialClassX
当然,最重要的因素是,它应该复制我在 TPanel 上放置的任何新组件,而在正常情况下不修改代码。
我听说过 RTTI,但实际上从未使用过。有任何想法吗?
c++ - 提取 C++ 模板参数
虽然我很怀疑,但我很好奇是否可以从现有类型中提取原始类型模板参数,也许使用 RTTI。
例如:
是否可以在上面的代码中提取数字 16 而无需在其他地方进行硬编码?欢迎使用编译器特定的实现,尽管我对g++
.
delphi - Delphi RTTI 麻烦:GetPropInfo 返回 nil 且 {$METHODINFO ON}?
即使给定的类是用正确的 {$METHODINFO} 指令声明的,GetPropInfo 是否有可能返回 nil。
c++ - Finding the type of an unknown object in C++
There are many ways to check programs for memory leaks. You end up with that list of pointers to leaked memory blocks, but is there a good way to find out more information for each block? For example: if I know that the object was a string, the actual string value could make finding the leak a lot easier.
Is there a backdoor into RTTI that makes that possible?
Problems to solve would be that by the time you get the pointers the runtime system is already in a state of shutdown and you get raw memory block pointers instead of pointers to objects (though in many cases that might be the same).
xml - 使用 RTTI 而不是自定义代码将 Delphi 对象树序列化为 XML 的好方法是什么?
使用 RTTI 而不是自定义代码将 Delphi 对象树序列化为 XML 的好方法是什么?
我很想发现这个功能已经内置在 Delphi 中,但似乎没有。
我发现了一些似乎可以执行此功能的组件(已在下面发布)。您是否使用过它们中的任何一个或其他产品?你自己建了吗?在德尔福中,我是否遗漏了一些明显的东西?