我想在我的组件中使用 float 属性,但将其设置为某个非零默认值(假设它是 1000.0)。如果我尝试在 Create 中执行此操作,则该属性开始表现异常,因为它的默认值 float 为 0(请参阅 classes.TWriter.WriteProperty.WriteFloatProp.IsDefaultValue),因此当我在表单设计器中用 0 覆盖某个值时,delphi不保存此值(在本例中为默认值),但我的 Create 将在下次加载组件时将其设置为 1000.0,因此实际上我拥有未设置的值。
问题是无法使用“默认”指令设置默认值(编译器说“默认值必须是序数、指针或小型集类型”),并且也不可能强制使用存储指令进行存储,它不会“工作(Delphi 5)
那么是否有机会找到解决方法?
谢谢,
最大限度
最佳答案
也许您可以使用 stored
指令:
property MyFloat: Float read GetValue write SetValue stored IsMyFloatStored;
使用 bool 函数
IsMyFloatStored
返回 True 如果 MyFloat 没有其默认值。