【问题标题】:Delphi vcl component 'About' propertyDelphi vcl 组件“关于”属性
【发布时间】:2018-12-25 01:50:07
【问题描述】:

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

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

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

如果您将组件放在表单上,​​一切似乎都可以,about 属性是正确的版本,但是如果我更改组件包中的版本常量,请重新安装包并重新打开已经包含该组件的测试应用程序它仍然显示旧版本,因为它是在构造函数中设置的。

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

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

【问题讨论】:

  • 为该属性设置 stored 说明符(这可以防止其值存储在 *.dfm 文件中)。当然,现有项目会持有它,因此您必须进行一些清理。
  • 我想知道这样一个属性的意义是什么。你能用它做什么?
  • @David,有些组件甚至有属性编辑器,显示一个带有版本的对话框。这只是为了促销。虽然我个人希望有一些统一的方式来指定 IDE 中的组件版本。
  • 是的,我也是这样做的,当单击 About 属性的按钮时会显示一个对话框,我知道这可能听起来很傻,但我主要是添加它以了解有关属性编辑器等的更多信息公司中有人想知道组件来自哪里的案例。感谢 Victoria,我会尝试使用“存储”说明符。
  • 你喜欢还是不喜欢大卫,我不会争论它,许多组件设计师在属性编辑器中添加一个版本,Fastreport,jvcl,jcl,IBobjects,EMS高级导入/export 等等,无论如何,这不是我从这里开始的问题。

标签: delphi properties components vcl


【解决方案1】:

维多利亚的评论包含解决方案,在 about 属性上使用“Stored = False”,因此它不会保存在 dfm 中。

【讨论】:

  • 不要忘记从已经使用过的所有项目中的所有 dfm 文件中删除此属性
  • 当然是 GuidoG,它还没有在任何地方使用,除了在演示/测试应用程序中。
  • 或者,您可以将属性设置为只读,或者给它一个什么都不做的设置器。
  • 正如 Remy Lebeau 提到的......我确实会将其更改为只读属性。无论如何,您应该永远无法在运行时或设计时更改该属性的值!
  • 它已经是一个只读属性 Stefaan property About read fAbout write fAbout stored = False;无论如何,它已经用维多利亚的解决方案解决了,解决方案是stored = False部分
猜你喜欢
  • 2014-11-06
  • 2018-07-31
  • 2012-03-25
  • 1970-01-01
  • 1970-01-01
  • 2015-02-23
  • 2011-05-20
  • 2013-04-11
  • 1970-01-01
相关资源
最近更新 更多