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