【发布时间】:2014-04-13 09:34:07
【问题描述】:
我有一个用 VC++ 开发的应用程序,它使用了一个第三方 dll,它也是用 VC++ 开发的 它工作正常,当使用dependency walker检查时,应用程序和dll依赖于MFC42.dll、MSVCRT.dll、MSVCP60.dll等。
应用程序现在移植到 VS2008,调用 dll 的代码没有变化。 调用 DLL 函数后,正常功能可以正常工作
但是在尝试使用 Dialog 调用函数时,例如
MyFunc(void)
{
handle = AfxGetResourceHandle();
AfxSetResourceHandle(::GetModuleHandle(mydll));
if( myCDialog.DoModal() == IDOK )
{
/* My Functionality */
}
AfxSetResourceHandle(handle);
}
在尝试执行 DoModal 时,MFC42.dll (c0000005) 中出现访问冲突错误。
exe代码很好,因为它可以完美地与用VS2008及更高版本制作的dll一起工作。
【问题讨论】:
标签: visual-c++ visual-studio-2008 mfc