Delphi 给出 F2613 Unit Not Found,但仅适用于 64 位 Build

Delphi gives F2613 Unit Not Found, but only for 64-bit Build

我一直在使用 Delphi 开发我的软件并使用两个第 3 方软件包:TRichview 和 LMD ElPack。我在 TRichview 中有一个单元,在 LMD Elpack 中有 3 个单元,我已经添加了我自己的定制,所以我将这些单元的 4 个定制版本与我的项目文件放在我的目录中。

自从我安装了Delphi 10.4,并安装了与10.4兼容的TRichView和ElPack版本后,我就遇到了一个奇怪的问题。 TRichView 中的一个自定义单元给了我:

[dcc64 Fatal Error] RVEdit.pas(1054): F2613 Unit 'RVERVData' not found

但它只在构建 Windows 64 位时给我这个错误。当构建到 Windows 32 位时,它可以毫无问题地构建和运行。

我的工具 > 选项 > 语言 > Delphi > 库 > Windows [32|64]-bit > LibraryPath 都正确指向包含 .dcu 和 .res 文件的文件夹32 位和 64 位单元。正确的32位RVERVData.dcu文件在32位文件夹,64位RVERVData.dcu文件在64位文件夹

真正的运行ge 事情是这样的:如果我重命名我自定义的 TRichView 单元的 .pas 和 .dcu 文件,那么一切都可以在 32 位和 64 位中正常重建, 所以 Delphi 显然使用了正确的 64 位库路径。

我知道这以前不是问题。 2020年1月没问题成功运行编译64位。从那时起我所做的就是安装 Delphi 10.4 补丁和最新版本的 TRichview。我已经升级到10.4.1了,问题依旧。

那么为什么会发生此错误,但只是在 64 位版本(而非 32 位)中,我该怎么做才能使 64 位版本与我的自定义单元一起工作?

这个问题很奇怪。我在 Embarcadero 开了个案子,现在我们似乎已经修好了。

我卸载并重新安装了 TRichView 包。 32 位和 64 位包的库路径设置不同。一旦我清理了它,32 位和 64 位都开始正确构建,我不再收到这种情况的错误。

我不知道具体是什么原因造成的,但它一定在某种程度上与某些不正确的库路径有关,尽管我在尝试查找和修复问题的过程中检查了很多次。