【发布时间】:2018-12-23 12:13:17
【问题描述】:
对于某些特定对象,我想要复制(作为文本)出现在 Delphi 的 Object Inspector 中的属性和事件列表。
我的目的是能够将其粘贴到电子表格中,能够为每个项目添加注释,添加与相关功能相关的属性分类,或与其他对象进行比较(例如与继承祖先对齐或后代)。
据我所知,Object Inspector 没有这样的复制功能。那么实现这一目标的另一种快速方法是什么?
不管怎样,我有 Delphi 的 1 到 7, 2007、XE、XE2 和 Tokyo(后者,只有 Starter)。
基于前几个 cmets 的说明:
我已经知道出现在对象检查器上的项目是类的已发布属性,因此可以从源文件中检索信息。但是,发布的属性可能分布在多个类中,实际上是多个源文件(由于继承),并且项目本身不是特别方便的格式。都是可以克服的。我只是希望有一个更快更简单的方法,因为 Object Inspector 的显示已经非常接近我想要的了。
【问题讨论】:
-
那是源代码。 Object Inspector 中显示的是类声明的
published部分中的内容。 -
@KenWhite 是的,我知道 Object Inspector 中的内容来自源代码。源代码为文本,可复制粘贴。甚至可以通过工具对其进行解析,以将其转换为更方便的格式。并遵循继承逻辑来组装所有属性,而不仅仅是最子单元中的属性。这就是我得到的,或者一些类似的想法——据我所知,可能有一个工具可以利用 IDE 已经提供的服务来解析 Object Pascal 或其他任何东西。
-
你不能在这里要求工具推荐,根据help center。
-
无论谁 -1'ed 我的问题,请评论为什么?对SO来说是题外话吗?这是一个已经解决的问题吗?有什么问题?
-
您需要实现与对象检查器相同的功能。它通过使用运行时类型信息 (RTTI) 来工作。基本上,您需要 1. 枚举对象的所有已发布属性并 2. 读取它们的值。这可能不像听起来那么容易,因为属性本身就是对象。此外,在 IDE 中可能会为给定的类类型 + 属性类型注册特殊编辑器。但是阅读 RTTI 示例会让你走得更远。
标签: delphi