Delphi 组件属性声明

Eli*_*ldo 1 delphi components properties declaration

最近,我在组件中遇到了以下属性声明TDBNavigator

property Enabled;
[Default(False)]     <--------------------
property Flat: Boolean read FFlat write SetFlat default False;
Run Code Online (Sandbox Code Playgroud)

该指令[Default(False)]是什么意思?它的主要目的是什么?

Rem*_*eau 5

[Default(True|False)] 属性做同样的事情作为default True|False对条款property本身。DFM 流支持这两种形式,并且随着每个新的 IDE 版本,越来越多的属性被移动到这个 Attribute 模型。为什么 Embarcadero 觉得这是必要的,我不知道。然而,属性是在 XE3 中添加的,可以通过扩展 RTTI(System.Rtti单位)访问,因此可以应用于旧式 RTTI(System.TypInfo单位)根本不适用的事情。因此,这可能是为了帮助其他类型的流媒体框架而添加的,他们也决定将其应用于 DFM。谁知道。