【问题标题】:How do I access Delphi Array Properties using RTTI如何使用 RTTI 访问 Delphi 数组属性
【发布时间】:2010-11-14 12:03:23
【问题描述】:

我熟悉使用 Delphi RTTI 访问“简单”属性(整数/枚举/字符串等),但我无法掌握如何使用 Array 属性。

我首先寻找 GetPropValue/SetPropValue 调用的数组等效项。我希望看到与这些类似的,但采用额外的“索引”参数,但似乎在 typinfo 单元帮助中找不到任何内容。

【问题讨论】:

  • 这里是指“数组类型的属性”还是“索引属性”?
  • 我的意思是这些:“Property Coords[Index: Integer] : Longint read GetCoord write SetCoord;”希望这是一个数组属性?

标签: delphi c++builder rtti


【解决方案1】:

在 D2009 之前,数组和数组属性不能有 RTTI。但是,当 Barry Kelly 在 Delphi Live 会议上谈到计划用于 D2010 的增强型 RTTI 系统时,他提到包括阵列在内的所有东西都可以使用 RTTI。所以这是一个值得期待的功能......

【讨论】:

  • 数组有 RTTI - 几乎所有类型都有 RTTI。 “数组属性”,即索引属性,但不在 D+1 中。
  • 哦,他们不会?那我一定是误会了。
【解决方案2】:

不确定是否可行。无法发布数组属性,这意味着它们不能具有 RTTI。

此外,如果您查看对象检查器中的组件。那里没有数组属性。所有数组属性都有自定义编辑器(或者我一定错过了一些)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多