我有一个 JD Edwards 业务功能,它是用 Microsoft Visual C++ 作为 C 模块编写的。我正在使用 LoadLibrary 访问第三方 DLL。在独立的测试程序中,代码运行得很好。当我从 JDE 中运行它时,LoadLibrary 返回 NULL,GetLastError 返回 126,这意味着 The specified module could not be found
根据 MSDN。我已经尝试输入 DLL 的完整路径,是的,我记得将路径中的\字符加倍。没有不同。
我已经检查以确保没有任何依赖项会阻止 DLL 加载; DUMPBIN/DEPENDENTS 返回以下内容:
WSOCK32.dll
USER32.dll
GDI32.dll
WINSPOOL.DRV
ADVAPI32.dll
KERNEL32.dll
这些看起来像标准的 Windows DLL,所以我很茫然。
最佳答案
缺少依赖?你检查过 Dependency Walker找到所有引用的库?
关于visual-c++ - 什么可能会阻止 DLL 使用 LoadLibrary 加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/842111/