从代码中设置Delphi 7项目"版本信息"?

pan*_*hei 11 delphi delphi-7

是否可以从代码中设置"版本信息"设置?我想在不使用项目选项对话框的情况下设置版本编号和"注释"属性的值.

Rob*_*edy 10

您可能会发现维护包含version-info资源的文本RC文件更容易,而不是编辑IDE为您管理的二进制RES文件.编写资源脚本文件,然后将其包含在项目中,其行如下所示:

{$R resources.res resources.rc}
Run Code Online (Sandbox Code Playgroud)

您应该从项目的DPR文件中删除{$R *.RES}行,否则您将获得重复的版本资源.不要将您的项目名称用作自定义资源文件的名称; 该名称由IDE保留.

IDE管理的资源文件还包含项目图标,因此您还需要在资源脚本中包含该图标.

您可以手动编辑资源脚本,也可以编写程序进行编辑或将其重新生成为构建步骤之一.

使用文本资源脚本具有额外的副作用,即在您使用的任何源控制系统(如CVS)中更容易跟踪对其的更改.

  • 您可以简单地在项目选项中禁用包含版本信息,并且您将无法获得重复的资源错误,同时能够设置在默认.res文件中设置的其他数据. (3认同)
  • 请注意,当您删除{$*.res}时,您还会丢失项目选项设置的主应用程序图标,并且需要使用.rc文件自己包含一个. (3认同)
  • +1我们目前正在.bdsproj和.res文件中使用版本信息,这是一场噩梦.它使合并麻烦.我们有一个分支创建者,它可以更改版本信息并检查回svn,所以这不是问题,但是当我们稍后尝试合并时,我们付出了沉重的代价.99%的更改是.bdsproj和.res文件!我们将转而使用.rc方法. (2认同)
  • 也许文件名需要在`$ R`指令中引用?我不记得了.较新版本的Delphi(我不知道有多新)允许您简单地将RC文件添加到项目中:在项目管理器中,使用"添加文件"命令.IDE将为您处理其余语法. (2认同)

his*_*rio 4

解决方案是编辑项目资源文件。检查这个C++示例http://www.codeproject.com/KB/cpp/UpdateVersion.aspx