请教VC的一个问题
CCmdTarget::~CCmdTarget(){
#ifndef _AFX_NO_OLE_SUPPORT
if (m_xDispatch.m_vtbl != 0)
((COleDispatchImpl*)&m_xDispatch)->Disconnect();
ASSERT(m_dwRef <= 1);出错位置;
#endif
#ifdef _AFXDLL
m_pModuleState = NULL;
#endif
}
程序在编译和运行时都没有问题,但是关闭时报错,调试后显示出来的错误就是ASSERT(m_dwRef <= 1);这句
哪位高手告诉我出错载哪里啊?该怎么解决啊? m_dwRef在Disconnect()后变了没有。。。问题不在于ASSERT.. 前面的操作导致m_dwRef〉1了吧? 原帖由 iptton 于 2008-4-10 15:28 发表 https://www.gdutbbs.com/images/common/back.gif
m_dwRef在Disconnect()后变了没有。。。问题不在于ASSERT..
不懂,能否说明白点,那个是系统里面的函数来着,是不是哪里调用出错啊? 不怎么用过VC...
不过LZ就帖这点代码就是熟VC的人也看不到是哪里出错..
回复 4 的帖子
一般情况下问题是出在你调用时出错了我以前试过定义了一个类指针,但忘了将指针指向对象就调用了该类的成员函数,导致类似这样的错误 看你的代码,说实在,看不出哪不对劲。
页:
[1]