delphi - bool 值的类默认属性设置为 true 在运行时给出 false

标签 delphi delphi-2010

我有一个带有 bool 属性的简单组件类:

  TmyClass = class(TComponent)
    private
      fSomeProperty: boolean;
    published
      property SomeProperty: boolean 
                  read fSomeProperty 
                  write fSomeProperty
                  default true;

  end;

我把它放在我的表单上,将其设置为 true(SomeProperty 设置为 false,为什么?),但是当我尝试访问 运行时的 SomeProperty 给了我 false 。为什么会这样?

最佳答案

那是因为 default 说明符实际上并不将值分配给属性,它只是告诉流系统哪个值是默认值(因此不需要保存)。您仍然需要将构造函数中的 prop/field 初始化为所需的默认值。这记录在 help 中顺便说一句,请阅读“Storage Specifiers ”部分

关于delphi - bool 值的类默认属性设置为 true 在运行时给出 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6944088/

相关文章:

delphi - 在非对话框表单上显示帮助问号按钮(biHelp)?

delphi - 如何引用在运行时而不是在表单设计器中创建的组件?

Delphi 7 和 Indy 9.0 连接 SSL 时出错

delphi - 如何在Delphi XE6中使用DataSnap传递和返回Stream?

Delphi 2010 密码学库

delphi - 我如何查看谁在 Delphi 中触发了手势标准操作?

windows - Delphi 10.1 - Windows 10 Creators Update 后日期时间选择器出现问题

delphi - 用 Delphi 捕获 HTML POST?

delphi - TreeView:如何确定节点是否处于编辑模式?

delphi - 如何将二进制 gbak 输出重定向到 Delphi 流?