CodeGuru上有此问题,没有答案:装了VS2005 SP1之后,Debug版的Dll在一个需要弹出对话框的接口被调用时出错??

catxl313 2010-01-06 11:26:17
装了VS2005 SP1之后,Debug版的Dll在一个需要弹出对话框的接口被调用时出错???

这个问题和CodeGuru论坛里的一个问题一样(http://www.codeguru.com/forum/showthread.php?threadid=460914),可惜没有人知道答案。

I have Visual Studio 2005 (Visual C++ 2005) and I have recently installed SP1. The problem is that I work on a DLL with MFC support and I cannot create a dialogbox any more!

the code I used and worked before installing SP1 was:

AFX_MANAGE_STATE(AfxGetStaticModuleState());

CChooseDlg c_dlg;
c_dlg.DoModal();but now it seems that I receive an assertion error, which, if I debug, it goes through here:

in CDialog::DoModal():


if (CreateDlgIndirect(lpDialogTemplate,
CWnd::FromHandle(hWndParent), hInst))
...in CWnd::CreateDialogIndirect(...):


if ( AfxGetApp()->IsKindOf( RUNTIME_CLASS( COleControlModule ) ) )in CObject::IsKindOf(...):


ENSURE(this != NULL);



我的情形和该贴中描述的一样:一开始的时候只是建立了一个简单的Dll工程,后来又需要弹出对话框,于是使用了MFC的一些功能。前段时间一直没问题,可以正常使用,但是自从把VS2005 SP1升级上去之后,就出现了这个问题,而且Release版的Dll没问题,但Debug版的有问题。这个Dll可以正常Load,只有那些使用了MFC对话框的接口,被调用时,会在Domodal()过程中遭遇上述断言失败。


这个问题在“一个使用动态链接库资源出错的难题” (http://topic.csdn.net/u/20080307/22/bbfe7258-0b2c-40aa-9424-4cf52edbd6a8.html)和“一个使用动态链接库资源出错的难题”(http://social.microsoft.com/Forums/pt-BR/visualcpluszhchs/thread/9e459adc-dc68-491a-8632-8cb23ef6566f),也讨论过。

期待大牛帮忙解决,谢谢!
...全文
102 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
catxl313 2010-01-10
  • 打赏
  • 举报
回复
还是没办法啊
catxl313 2010-01-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xyzhaopeng 的回复:]
还真没遇到过。。
楼主检查一下工程设置,DLL和Exe的设定。
[/Quote]

我定义了 _AFXDLL, Debug的配置项Code Generation选了/MDd,Release选的是/MD.
你认为还有哪些设置和这个问题有关呢?
cdsnpeter 2010-01-07
  • 打赏
  • 举报
回复
还真没遇到过。。
楼主检查一下工程设置,DLL和Exe的设定。
xwsn007 2010-01-07
  • 打赏
  • 举报
回复
还有这事,强烈关注
UP
sandyandy 2010-01-06
  • 打赏
  • 举报
回复
很明显this==null
vclongking 2010-01-06
  • 打赏
  • 举报
回复
不清楚
关注 学习

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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