Delphi vcl组件';关于';所有物

Delphi vcl组件';关于';所有物,delphi,properties,components,vcl,Delphi,Properties,Components,Vcl,我现在正在做一个新的vcl组件,我以前做过一些,现在我每次都做错事。 这只是个小问题,但我想知道解决办法是什么 我的组件有一个常数cmpVersion=1.01;然后在“About”发布属性中显示,显示组件的版本 在组件构造函数中,About属性设置为常量的值 如果您将组件放在表单上,那么一切看起来都正常,about属性是正确的版本,但是如果我更改组件包中的version常量,重新安装包并重新打开表单上已经有组件的测试应用程序,它仍然显示旧版本,因为它是在构造函数中设置的 我猜About属性保存

我现在正在做一个新的vcl组件,我以前做过一些,现在我每次都做错事。 这只是个小问题,但我想知道解决办法是什么

我的组件有一个常数cmpVersion=1.01;然后在“About”发布属性中显示,显示组件的版本

在组件构造函数中,About属性设置为常量的值

如果您将组件放在表单上,那么一切看起来都正常,about属性是正确的版本,但是如果我更改组件包中的version常量,重新安装包并重新打开表单上已经有组件的测试应用程序,它仍然显示旧版本,因为它是在构造函数中设置的

我猜About属性保存在测试应用程序dfm中


当打开包含组件的表单时,更新About属性的正确方法是什么?

Victoria的注释包含解决方案,请在About属性上使用'Stored=False',这样它就不会保存在dfm中。

设置该属性的说明符(这可以防止其值存储在*.dfm文件中)。当然,现有的项目将容纳它,所以你必须做一些清理。我想知道这样一个属性的意义是什么。你能用它做什么?@David,有些组件甚至有属性编辑器,显示一个带有该版本的对话框。那只是为了提升。虽然我个人希望有一些统一的方法来指定IDE中的组件版本。是的,我也会这样做,单击About属性的按钮时显示一个对话框,我知道这听起来可能很傻,但我添加它主要是为了了解更多关于属性编辑器之类的信息,如果公司里有人想知道组件来自何处,多谢维多利亚,我会尝试使用“存储”说明符。不管你喜不喜欢这种方式,大卫,我都不会就此争论,许多组件设计人员在属性编辑器、Fastreport、jvcl、jcl、IBobjects、EMS Advanced import/export等中添加了一个版本,无论如何,这不是我在这里开始讨论的问题。不要忘记从所有使用该属性的项目中的所有dfm文件中删除该属性。alreadySure GuidoG,它还没有在任何地方使用过,除了在演示/测试应用程序中。或者,您可以将属性设置为只读,或者为其指定一个不执行任何操作的setter。正如Remy Lebeau提到的。。。我确实会将其更改为只读属性。无论如何,您都不能在运行时或设计时更改该属性的值!它已经是只读属性Stefaan属性About read fAbout write fAbout stored=False;无论如何,它已经用Victoria的解决方案解决了,解决方案是存储=错误的部分