我想在我的组件中使用 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 没有其默认值。

10-06 13:18
查看更多