Delphi中存储的关键字

JPv*_*rwe 14 delphi

Delphi在定义属性时允许存储关键字,如下所示:

property Fields: TIndexDefs read FFields write SetFields stored FieldsStored;
Run Code Online (Sandbox Code Playgroud)

关键字的目的是什么?它的作用是什么?

cmw*_*cmw 24

从我的Delphi 7帮助文件:

可选的stored,default和nodefault指令称为存储说明符.它们对程序行为没有影响,但控制是否在表单文件中保存已发布属性的值.

stored指令必须后跟True,False,布尔字段的名称或返回布尔值的无参数方法的名称.例如,

property Name: TComponentName read FName write SetName stored False;
Run Code Online (Sandbox Code Playgroud)

如果属性没有存储指令,则将其视为指定存储为True.

这听起来像是控制是否在表单的.DFM文件中存储与组件相关的属性.(只是猜一下)

  • @Ken:changed =] @Rob:是的,这正是它_says_但我没有测试它实际上是什么_does_. (3认同)

Leo*_*era 6

此关键字确定是否应将属性值保存在表单文件中; 它是true默认的.例如,避免在.dfm文件中保存大块二进制信息(例如,必须仅在运行时读取其内容的图像组件)可能很有用.