我使用项目选项/版本来管理版本信息(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/