工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 4202|回复: 7

请教VC的一个问题

[复制链接]
发表于 2008-4-10 15:20 | 显示全部楼层 |阅读模式
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);这句

哪位高手告诉我出错载哪里啊?该怎么解决啊?
发表于 2008-4-10 15:28 | 显示全部楼层
m_dwRef在Disconnect()后变了没有。。。问题不在于ASSERT..
回复

使用道具 举报

发表于 2008-4-10 16:05 | 显示全部楼层
前面的操作导致m_dwRef〉1了吧?
回复

使用道具 举报

 楼主| 发表于 2008-4-10 21:35 | 显示全部楼层
原帖由 iptton 于 2008-4-10 15:28 发表
m_dwRef在Disconnect()后变了没有。。。问题不在于ASSERT..

不懂,能否说明白点,那个是系统里面的函数来着,是不是哪里调用出错啊?
回复

使用道具 举报

发表于 2008-4-10 21:50 | 显示全部楼层
不怎么用过VC...
不过LZ就帖这点代码就是熟VC的人也看不到是哪里出错..
回复

使用道具 举报

发表于 2008-4-11 21:36 | 显示全部楼层

回复 4 的帖子

一般情况下问题是出在你调用时出错了

我以前试过定义了一个类指针,但忘了将指针指向对象就调用了该类的成员函数,导致类似这样的错误
回复

使用道具 举报

头像被屏蔽
发表于 2008-4-16 10:57 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2008-4-17 20:06 | 显示全部楼层
看你的代码,说实在,看不出哪不对劲。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2024-6-4 15:24

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表