我有一个类,其中包含一些我想列出的已发布属性。这些属性是来自 DevExpress 样式的 TcxCustomStyle 类型。我使用以下代码将名称添加到 memdata 表中,如果我删除所有相关的 TcxCustomStyle ,它就可以正常工作。
问题是如何获取 TcxCustomStyle 类型的属性的值?
很可能这是我身边的简单错误 - 但我不知道是什么。
procedure TfrmMain.ListProperties;
var
ctx: TRttiContext;
rType: TRttiType;
rProp: TRttiProperty;
i: integer;
Value: TcxCustomStyle;
begin
i := 1;
memProperties.DisableControls;
try
memProperties.Close;
memProperties.Open;
rType := ctx.GetType(Settings.Styling.ClassType);
for rProp in rType.GetProperties do
begin
Value := TcxCustomStyle(rProp.GetValue(Self).AsObject);
memProperties.AppendRecord([i, rProp.Name, Value.Name]);
Inc(i);
end;
finally
ctx.Free;
memProperties.EnableControls;
end;
end;