【发布时间】:2015-08-07 18:51:58
【问题描述】:
我被指派在一个 Delphi 项目中做一个小的修改。 为了注册那个模组,我的老板告诉我在项目选项 > 版本信息中增加内部版本号。
我这样做了,但是在编译和构建之后,当我查看文件属性时,文件版本没有更新。 exe 文件确实已编译(我检查了修改日期,它与构建时间匹配)。最终EXE中的版本号不变,和我在Version Info选项卡中设置的不相等。
当我在 Google 上搜索这方面的内容时,我能找到的唯一结果是使用此版本功能的教程以及启用它时遇到问题的人。
我尝试重新打开项目,删除生成的 EXE 并重新构建,删除 .RES 文件(构建失败,因为没有 RES 文件)并注释掉 {$R *.RES} 指令(根本不包含版本信息)。
我不是这个项目的原始开发者,原来的已经没有了。
我认为这可能与this post 有关,但它来自另一个Delphi 版本,我在我的项目中找不到dproj 文件。
那么,有谁知道怎么回事?是某种错误还是我错过了什么?我应该更改其他选项以使该选项生效吗?
【问题讨论】:
-
停止使用 IDE。这是错误的工具。使用资源脚本。手动编辑,或者更好的是,以编程方式生成。
-
感谢您的评论。看起来这是我现在工作的公司以前用来执行此操作的工具。现在,我更喜欢保持这种方式。你知道有什么原因,所以这对我来说不起作用吗?
-
IDE 的那部分很糟糕。如果个人不知道如何使它工作,因为使用它是一个坏主意。我建议你和你的老板谈谈。
-
我见过这样的情况:IDE 确实使用正确的更新版本信息编译了新的 .exe 文件,但 Windows 资源管理器继续显示与新版本位于同一位置的先前版本的旧版本信息文件。尝试将带有更新版本信息的最新 .exe 复制到另一个文件夹,甚至另一台机器,然后检查版本信息是否正确。或者,使用可以打开 .exe 并显示其实际版本资源的单独工具。
-
@DavidHeffernan:IDE 对版本资源的处理直到 XE2 左右才真正开始受到影响,当时由于添加了多平台支持和“自动增量构建”,他们真正开始弄乱版本资源number”(一个递增的数字)被替换为“auto generate build number”(一个时间戳)。或者可能是稍早一些,当时添加了对构建配置的支持。但无论哪种方式,它都是在 Delphi 7 之后,它还没有这些功能。