【问题标题】:Delphi Component Property DeclarationDelphi 组件属性声明
【发布时间】:2020-09-30 12:28:59
【问题描述】:
最近在TDBNavigator组件中遇到如下属性声明:
property Enabled;
[Default(False)] <--------------------
property Flat: Boolean read FFlat write SetFlat default False;
指令[Default(False)] 是什么意思?它的主要用途是什么?
【问题讨论】:
标签:
delphi
properties
components
declaration
【解决方案1】:
[Default(True|False)] Attribute 与property 本身的default True|False 子句执行相同的操作。 DFM 流支持这两种形式,并且随着每个新的 IDE 版本,越来越多的属性被移动到这个属性模型中。为什么 Embarcadero 觉得这是必要的,我不知道。但是,属性是在 XE3 中添加的,可以通过扩展 RTTI(System.Rtti 单元)访问,因此可以应用于旧式 RTTI(System.TypInfo 单元)根本不起作用的东西。因此,这可能是为了帮助其他类型的流式传输框架而添加的,他们也决定将其应用于 DFM。谁知道呢。