delphi – Float属性非零默认,是否可能?

我想在我的组件中使用float属性,但是将其设置为某个非零默认值(假设它是1000.0).如果我尝试在Create中执行此操作,属性开始表现得很疯狂,因为浮动它的默认值为0(请参阅classes.TWriter.WriteProperty.WriteFloatProp.IsDefaultValue)所以当我在表单设计器中重写一些带0的值时,delphi不保存这个值(在这种情况下是默认值),但我的Create会在下次加载compoent时将其设置为1000.0,所以实际上我有没有设置的值.

问题是没有办法用’default’指令设置默认值(编译器说’默认值必须是序数,指针或小集类型’)并且它也不可能强制存储与存储指令,它不会’工作(德尔福5)

那么有机会找到解决方法吗?

谢谢,

马克斯

最佳答案 也许你可以使用stored指令:

property MyFloat: Float read GetValue write SetValue stored IsMyFloatStored;

使用布尔函数IsMyFloatStored返回True iff MyFloat没有默认值.

点赞