我有一个查找特定 DLL 的可执行文件。我已经更改了DLL的源代码并重新编译了它(用VB6编写并重新编译)。替换 DLL 后,可执行文件在使用该特定 DLL 时会遇到运行时错误。当我重新编译可执行文件时工作正常。
所以我的问题是,使用相同的 DLL 路径、相同的名称和几乎相同的 DLL,为什么需要重新编译可执行文件?
这让我抓狂,所以任何想法都将不胜感激。谢谢,卡勒姆。
最佳答案
VB6(或任何 COM)DLL 本身及其公共(public)接口(interface)都有唯一的 ID,如果重新编译,这些 ID 可能会发生变化,并且绑定(bind)到旧 ID 的任何现有代码都会失败。
Tldr;在 DLL 的项目选项中勾选“二进制兼容性”,然后选择旧的工作 DLL 作为保持兼容性并重新编译的东西。
关于dll - 更改 Agilent Vee Pro 6.01 编译程序使用的 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71251544/