小鸟向前飞 2016-11-01 07:16 采纳率: 0%
浏览 1569
已结题

COM组件调用动态库路径问题

目前在做一个OFFICE的插件,是用COM组件实现的。
在COM组件中要load另外一个DLL,但是在load这个DLL时总是返回127错误。
现在的情况是OFFICE是一个路径,COM组件与DLL在另外一个目录下。

COM组件加载DLL的代码不贴了,就是LoadLibrary和GetLastError。
新建了一个空的DLL,什么代码也没写,让COM去加载,还是127错误。

感觉是路径问题,但是尝试把当前路径加到path中,不起作用。
把dll复制到system32或者SysWOW64下也不行。
把dll复制到office安装路径也不行。

现在不知道该怎么处理了。

请问大家在使用COM组件加载DLL时遇到过这样的问题吗?

另外,新建一个空的DLL,用win32程序可以加载,但是COM加载也是127错误。

代码如下:

 HINSTANCE hInstance = LoadLibrary(_T("E:\\code\\test\\2016103101\\Debug\\DLLTest1.dll"));
    DWORD dRet = GetLastError();
  • 写回答

3条回答

  • oyljerry 2016-11-01 07:30
    关注

    用depends查看一下DLL的依赖,一般是有其他依赖的DLL缺少,导致加载失败

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月15日

悬赏问题

  • ¥100 c语言,请帮蒟蒻看一个题
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)