delphi - 如何在Delphi应用程序中使用项目版本信息?

标签 delphi delphi-xe versioninfo

我使用项目选项/版本来管理版本信息(N.N.N.N 格式)。

无论如何,在我的项目中,我复制了这些信息。

因此,如果在项目选项中我正在开发版本 2.4.3.178 在我的应用程序中,我有 4 个整数变量来保存 4 个数字。

我手动设置它们

Major := 2;
Minor := 4;
Release := 3;
Build := 178;

原因很简单:我有基于版本号的许可。因此,如果用户购买版本“2.4”,则不允许升级到版本“3.0”。

但是,如果我依赖项目版本信息,用户可以(使用 Resource Hacker 工具)更改版本信息,从而“激活”产品。

用户无法以相同的方式更改 4 个变量(至少不那么容易)。

这有效,但迫使我复制信息。

您能提出更好的方法吗?

否则说:有没有办法使用我在这 4 个变量中写入的数据来写入版本信息。类似于构建后事件,但如何将数据传递给构建后事件?

最佳答案

您需要预构建事件而不是构建后事件,因为您希望在链接之前构建 .res 文件。

我使用一个简单的 Perl 脚本执行非常类似的操作,该脚本读取包含版本号常量声明的包含文件 (.inc)。我使用正则表达式读取它们,然后创建我的 .rc 文件,并将其传递给 brcc32。它全部作为预构建操作调用。

关于delphi - 如何在Delphi应用程序中使用项目版本信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5548742/

相关文章:

delphi - 推荐用于较小应用程序的报告工具?

delphi - TV虚拟字符串树。如何拖放到ROOT级别?

delphi - Delphi XE 无法随机加载设计包有什么想法吗?

c++ - 依赖于其他库的库的 Libtool 版本控制

dll - 转储 Windows DLL 版本的命令行工具?

delphi - 在同一台计算机上安装 Rad Studio 2007 和 Rad Studio 2010

Delphi XE - System.Pos 函数的更快替代方案

delphi - 使用 UTF8String 转换非规范化字符

delphi - 禁用特定控件上的主题?

inno-setup - 如何本地化 Inno Setup 安装文件的 VersionInfo?