更改 Agilent Vee Pro 6.01 编译程序使用的 DLL

Changing a DLL that is used by an Agilent Vee Pro 6.01 Compiled Program

我有一个查找特定 DLL 的可执行文件。我已经更改了 DLL 的源代码并重新编译它(在 VB6 中编写和重新编译)。替换 DLL 后,可执行文件在开始使用该特定 DLL 时会遇到运行时错误。当我重新编译可执行文件时工作正常。

所以我的问题是,具有相同的 DLL 路径、相同的名称和几乎相同的 DLL,为什么需要重新编译可执行文件?

这让我很生气,所以任何想法都将不胜感激。谢谢,卡勒姆。

VB6(或任何 COM)DLL 具有其自身及其 public 接口的唯一 ID,如果您重新编译这些 ID 可能会发生变化,并且绑定到旧 ID 的任何现有代码都会失败。

Tldr;在 DLL 的项目选项中勾选“二进制兼容性”& select 旧的工作 DLL 作为保持与重新编译兼容性的东西。

详细解释:I keep hearing about DLL hell - what is this?