我一直在用 Delphi 开发我的软件,并使用两个 3rd 方包:TRichview 和 LMD ElPack。我在 TRichview 中有一个单元,在 LMD Elpack 中有 3 个单元,我已经添加了我自己的自定义项,因此我将这些单元的 4 个自定义版本与我的项目文件一起保存在我的目录中。
自从我安装了 Delphi 10.4,并安装了与 10.4 兼容的 TRichView 和 ElPack 版本,我一直遇到一个特殊的问题。TRichView 中的一个自定义单元给了我:
[dcc64 致命错误] RVEdit.pas(1054): F2613 Unit 'RVERVData' not found
但它只是在构建到 Windows 64 位时给我这个错误。在构建到 Windows 32 位时,它可以毫无问题地构建和运行。
我的工具 > 选项 > 语言 > Delphi > 库 > Windows [32|64]-bit > LibraryPath 都正确指向包含 32 位和 64 位单元的 .dcu 和 .res 文件的文件夹。正确的 32 位 RVERVData.dcu 文件位于 32 位文件夹中,而 64 位 RVERVData.dcu 文件位于 64 位文件夹中。
真正奇怪的是:如果我为我自定义的 TRichView 单元重命名 .pas 和 .dcu 文件,那么在 32 位和 64 位中一切都重建得很好,所以 Delphi 显然使用了正确的 64 位库路径。
我知道这以前不是问题。2020年1月,我没有问题,成功运行编译64位。从那以后我所做的就是安装 Delphi 10.4 补丁和最新版本的 TRichview。我已经升级到10.4.1,但问题依旧存在。
那么为什么会出现这个错误,但只是在 64 位版本(不是 32 位)中发生,我该怎么做才能让 64 位版本与我的定制单元一起工作?