如何使用 RTTI 区分 TDateTime 属性和 Double 属性?
使用Delphi 2010中的RTTI系统,有什么方法可以找出属性是否是TDateTime?目前,每当我回调 asVariant 以及检查属性类型时,它都会将其视为双精度。这是因为它只能看到基本类型吗? (TDateTime = 双精度)
Using the RTTI system in Delphi 2010, is there any way to find out if a property is a TDateTime? It's currently treating it as a double whenever I call back asVariant and also if I check the property type. Is this due to the fact it can only see the base type? (TDateTime = double)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试检查
的
Name
属性TRttiProperty.PropertyType我没有 Delphi 2010,但这可以在 XE 中使用。
这段代码返回
Try checking the
Name
property of theTRttiProperty.PropertyType
I don't have Delphi 2010, but this works in XE.
this code returns
定义类型时的关键点是 type 指令。这两个定义是不同的:
Key point here while defining type is the type directive. These two definitions are different: