奇怪的问题,动态编译调用dll函数正确,静态编译就出错!

zdrone 2008-08-21 05:40:54
 HINSTANCE hInstance=LoadLibrary("Login.dll");  //hInstance能得到值
FuncUserLogin pUserLogin=(FuncUserLogin)GetProcAddress(hInstance,"UserLogin");
if(pUserLogin(strCurrentUser.strCurrentUserDepartment.GetBuffer(10),GlobalConn)==false) //这里出错
{
return FALSE;

}

strCurrentUser.strCurrentUserDepartment.ReleaseBuffer();
FreeLibrary(hInstance);



同样是上面一段代码。如果使用静态编译就出错。动态编译就没有问题。
静态编译的时候提示 afxwin1.inl 22行错误。

怎么回事啊?
...全文
74 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
什么是动态编译和静态编译?是编译时使用动态链接和静态链接吧?知识猜测。

不过,strCurrentUser.strCurrentUserDepartment的release显然有问题,Return FALSE的时候就没有release

15,466

社区成员

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

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