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

Accessing component attribute in embedded TFrame

我有一个带有嵌入式 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。

你所做的是请求 TRttiInstanceField 的字段(因为你的字段变量上的 ClassInfo 会给你)

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

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