【发布时间】:2009-11-06 04:22:43
【问题描述】:
ShowMessage(TRttiContext.Create.GetType(TStringList)
.GetProperty('Strings').ToString);
上述代码失败,因为 .GetProperty 对“字符串”、“对象”、“值”(带有索引器的属性)等属性返回 nil。我认为这是一个已知的限制,问题是是否有任何方法可以访问这些索引属性(最好不要回退到旧的 RTTI 实用程序)。
【问题讨论】:
-
您有内存泄漏,因为您创建了一个 TStringList 实例但从未释放它。 ClassInfo 是一个类函数;您可以直接在类上调用它,而无需先创建实例。更好的是,因为您已经确切知道您想要哪种类型的 RTTI,所以调用另一个采用类引用的重载:
GetType(TStringList)。 -
谢谢,在帖子中编辑了代码。
标签: delphi delphi-2010 rtti