dll加载出错

fairykengqiangmeigui 2009-10-09 11:24:27
typedef long (*FunNoParamSockOut)();
FunNoParamSockOut FunNoParam_SockOut=NULL;
HMODULE hDllSockOut = ::GetModuleHandle(_T("SockOut.dll"));
if(!hDllSockOut)
// hDllSockOut = AfxLoadLibrary(_T("F:\\local\\SockOut\\Debug\\SockOut.dll"));
hDllSockOut = AfxLoadLibrary(_T("F:\\TestCenter\\SockOut.dll"));//ysm091008
if (hDllSockOut)
{
FunNoParam_SockOut = (FunNoParamSockOut)::GetProcAddress(hDllSockOut,_T("InitOutCtrlThreads"));
if(FunNoParam_SockOut)
FunNoParam_SockOut(); //启动对应主控卡的输出数据线程
}

代码如上;
我在SockOut是一个dll程序,生成的dll在F:\\local\\SockOut\\Debug\\SockOut.dll;我用hDllSockOut = AfxLoadLibrary(_T("F:\\local\\SockOut\\Debug\\SockOut.dll"));没有错。但我把SockOut.dll放到F:\\TestCenter里面再改成hDllSockOut = AfxLoadLibrary(_T("F:\\TestCenter\\SockOut.dll"));就会出错,Debug Assertion Failed。调试了一下是在FunNoParam_SockOut();这一行出错。请教高手原因及改正!
...全文
132 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangyan_wt 2009-10-09
  • 打赏
  • 举报
回复
用VC工具里的depends打开dll看看有没有叹号,缺不缺文件。
youyifang 2009-10-09
  • 打赏
  • 举报
回复
lib文件一起拷贝过去试试.
  • 打赏
  • 举报
回复
自己先顶一个!希望高手速救!
  • 打赏
  • 举报
回复
自己顶一下,请高手来帮忙啊!
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 youyifang 的回复:]
lib文件一起拷贝过去试试.
[/Quote]
不行,还是出错,原来的错误。
baosanr 2009-10-09
  • 打赏
  • 举报
回复
楼上说的对,原来目录有的依赖库没有一起拷过去

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧