哪个Delphi版本支持公共方法的RTTI?

4
默认情况下,在2010版本以下的Delphi中,RTTI仅为已发布的类成员创建。
我在2006年的博客(http://hallvards.blogspot.com/2006/09/extended-class-rtti.html)中读到,使用$METHODINFO(或$M),自Delphi 6以来包括公共和已发布的方法。这是正确的吗?
该博客文章表示:
“对于WebSnap,使用“新”的$METHODINFO ON编译器指令(在D6和D7中未记录)用于生成公共和已发布方法的扩展RTTI。”...“更新(2007年10月27日):$METHODINFO最初可用于Delphi 7,而不是Delphi 6。”

3
$METHODINFO 只适用于方法,不适用于属性。 - dthorpe
@dthorpe 感谢提示 - 我已经删除了关于非工作公共属性的附注。 - mjn
2
编译器添加了$METHODINFO以支持接口远程调用 - 动态存根+代理生成由RTL与Corba对象一起使用,我想。我不记得这个产品的哪个版本首次出现了。 - dthorpe
1个回答

3
新的Delphi 2010及以上版本中的RTTI支持你想要的功能。在Delphi 2009及更早版本中,你就没那么幸运了。

至少 Delphi 7 也是如此。Delphi 2010 支持更多的东西。事实上,它不仅仅“支持”,而且还将其加入,并要求您关闭它(如果您以前没有使用它,则可能不需要它)。 - Deltics
@mjustin:没问题;只是陈述事实,让其他人也能从中受益。 - Jeroen Wiert Pluimers

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接