当我尝试在 IDE 中构建一些 DPK 时,它会正确编译并生成适当的 BPL,但是当我尝试使用命令行使用 Delphi 10.2 Tokyo 时,我会收到如下错误:
... .rc(14):错误 RC2132:预期的 VALUE、BLOCK 或 END 关键字
我发现在编译之前,RC 文件看起来像:
1 VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L
FILEOS 0x40004L
FILETYPE 0x1L
FILESUBTYPE 0x00L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4"
BEGIN
VALUE "FileVersion", "1.0.0.0\0"
VALUE "ProductVersion", "1.0.0.0\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0409, 1252
END
END
但是在构建失败后尝试Delphi将其更改为:
1 VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L
FILEOS 0x40004L
FILETYPE 0x1L
FILESUBTYPE 0x00L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4"
BEGIN
因此,出于某种原因,Delphi 试图覆盖 RC 文件但在中间停止并且无法解析它。
这种奇怪行为的原因是什么?
PS:这是Delphi IDE在创建DPK工程时生成的标准RC文件。我没有对其进行任何更改。
我已经尝试将其删除并使用 IDE 重新创建。
我无法告诉您使用哪个命令来生成 BPL,因为我使用 FinalBuilder 8 来执行此操作