访问嵌入式TFrame中的组件属性

时间:2017-05-22 14:46:19

标签: delphi frames rtti

我有一个带有嵌入式TFrame的表单,以及一些具有相关属性的组件(在父表单和框架中)。我可以使用:

访问父表单组件属性
for field in ctx.GetType(frm.ClassInfo).GetFields do
  for attr in field.GetAttributes do...

我尝试使用以下嵌套在主循环中来访问框架中的属性:

for subField in ctx.GetType(field.ClassInfo).GetFields do
  for attr in subField.GetAttributes do...

然而,这无法将框架的组件作为字段,因此当然是相关属性。是否可以访问嵌入式框架的组件属性?我正在使用XE7。

1 个答案:

答案 0 :(得分:2)

你所做的是询问TRttiInstanceField的字段(因为这是你的字段变量ClassInfo会给你的)

正确的方法是使用FieldType属性:

for subField in field.FieldType.GetFields do
  for attr in subField.GetAttributes do...