如何阻止 Final Builder 8 使用 Delphi 10.2 Tokyo 破坏 rc 文件

How to stop Final Builder 8 from destroying the rc file using Delphi 10.2 Tokyo

当我尝试在 IDE 中构建一些 DPK 时,它会正确编译并生成适当的 BPL,但是当我尝试使用命令行执行此操作时,使用 Delphi 10.2 Tokyo 然后我'我收到如下错误:

... .rc(14) : error RC2132 : expected VALUE, BLOCK, or END keyword

我发现在编译之前 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[=11=]"
              VALUE "ProductVersion", "1.0.0.0[=11=]"
         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:这是DelphiIDE在创建DPK工程时生成的标准RC文件。我没有对其进行任何更改。

我已经尝试删除它并使用 IDE 重新创建。

我无法告诉您哪个命令用于生成 BPL,因为我使用 FinalBuilder 8 来执行此操作

感谢@DavidHeffernan 的评论,我再次检查了一下,结果发现问题出在 Final Builder 重新生成资源文件上。

当我在最后的构建器操作中取消选中 "Version info" 和 "Regenerate resource" 时,一切正常。

现在我不知道到底是什么导致了 Final Builder 中的问题,但是禁用这些选项对我来说很有效

这很可能是东京设置的默认版本信息变量的问题 - 请参阅 Delphi Version Info Errors