5

我有一个旧的 Delphi 代码库,我必须维护,很多 DLL,有些比其他的旧。在其中一些 DLL 中,“项目选项”对话框中没有版本信息。添加版本的控件显示为灰色,我什至无法通过手动编辑 .DOF 文件来添加版本号。如何在这些项目中包含版本号?

4

5 回答 5

10

检查项目源位置中是否存在默认 .RES 文件。Delphi 将项目的版本号包含在与 .dpr 文件同名的 .res 文件中。如果 .RES 文件不存在,重新创建它的最简单方法是将 {$R *.RES} 编译器指令添加到 .DPR 文件,紧跟在 uses 子句之后。

library foolib;    

uses
    foo in 'foo.pas',
    baz in 'baz.pas';

{$R *.RES}

exports
    foofunc name 'foofunc';

end;

一旦你添加了 {$R *.RES} 编译器指令,Delphi 就会告诉你它已经重新创建了傻瓜.res 资源文件。

于 2008-09-25T07:05:36.653 回答
7

您的 .dpr 文件中似乎{$R *.RES}缺少资源指令(或包含在条件定义中),因此 IDE 找不到它。

于 2008-09-25T08:58:15.993 回答
2

您可以使用 $R 指令在 Delphi 下创建的库中创建和嵌入资源文件。

链接包含与构建 RES 文件相关的信息。Delphi有自己的资源编译器:BRCC32

于 2008-09-25T07:08:37.410 回答
0

我使用构建控制系统 (FinalBuilder),它能够将版本资源添加到我所有的 DLL 和 EXE 中,它们都是一致的。因此,我可以确信文件集都标有相同的版本。有一些Delphi项目默认是没有版本的,无论如何FB都会为你添加。

于 2008-09-25T08:08:28.420 回答
0

在 dll 中包含版本信息有点不稳定。如果您指定 lib_suffix,则不会更新版本信息。

于 2009-12-23T00:18:25.937 回答