在 Delphi XE2 中,自动生成的内部版本号功能现在使用某种日期和时间生成值,如下所示:
2.4.4386.838
最后两个数字在您每次构建时都会更改,并且基于当前日期和时间:
Major = 2 (user defined)
Minor = 4 (user defined)
Release = 4386 (number of days since Jan 1 2000)
Build = 838 (number of seconds since 00:00:00)
我猜想发布和内部版本号的这种新格式是从 .NET 实现中借来的,它做了一些非常相似的事情。在 .net 中,最后一个数字 (Build) 等于自当地时间午夜以来的秒数除以 2。有关 .net 实现的详细信息,请参阅此链接:Determining Build Date the hard way
如果可以依靠这种方式保持这种状态,那么现在我们有一个更好的方法来确定编译时间,而不是
使用 IDE 插件
使用 PE 标头技巧
问题不在于如何返回旧的自动增量版本号功能。
问题是XE2 是否真的使用我上面显示的日期和时间,从 2010 年 1 月 1 日开始,并在 Build 和 Release 数字中添加天数和秒数?