在 Lazarus 项目中获取应用程序版本号不起作用

Fat*_*onk 3 freepascal version lazarus windows-7

我正在使用以下单元尝试读取 Lazarus 项目中的应用程序版本号,但 GetProductVersion 始终返回 0.0.0.0

http://forum.lazarus.freepascal.org/index.php?topic=13957

我在 Windows 7 上使用 Lazarus 1.2.4 和 FPC 2.6.4。

当我编译、链接和运行应用程序时,我没有收到任何错误,因此看来该单元已正确包含...

我不知道还能去哪里寻找不起作用的东西。有人可以给我一些指点吗?

Fat*_*onk 5

我终于弄清楚了这一点……这只是一个可能对某人有帮助的小发现,所以我会发布我做错的事情。

Lazarus项目中实际上有3个不同的版本,它们都在项目选项->版本信息中:

  1. 版本编号,位于其自己的小盒子中。
  2. 产品版本,位于“其他信息”中。
  3. 文件版本,位于“其他信息”中。

当您在http://forum.lazarus.freepascal.org/index.php?topic=13957上阅读 Mike.Cornflakes 的描述时,这一点实际上很明显,但我没有看到树木的木材。

只要确保您设置一个值时,您使用 Mike 的函数读取的值是正确的。

(上面链接中的讨论还解释了使用 FileVersion 和 ProductVersion 之间的区别(显然 Windows 文档指定 Product Version 表示 dll 应该使用的产品版本。)