标题:MFC 中,delete 一个对话框对象出现的错误
只看楼主
bok002121
Rank: 2
等 级:论坛游民
帖 子:90
专家分:26
注 册:2012-11-11
结帖率:87.5%
已结贴  问题点数:20 回复次数:6 
MFC 中,delete 一个对话框对象出现的错误
enlist_cli.exe 中的 0x77adcb85 (mfc90d.dll) 处最可能的异常: 0xC0000005: 读取位置 0xfeef000e 时发生访问冲突
enlist_cli.exe 中的 0x7777482b 处最可能的异常: 0xC0150010: 正被停用的激活上下文对于当前执行线程来说不是活动的。
enlist_cli.exe 中的 0x7777482b 处未处理的异常: 0xC0150010: 正被停用的激活上下文对于当前执行线程来说不是活动的。

请问怎么解决啊


void CDialog_Send::OnClose()
{
    // TODO: 在此添加消息处理程序代码和/或调用默认值

//发送消息弹回到那个连接的界面
//    ::SendMessage(*m_parent,WM_DIALOG_SEND_CLOSE,0,0);   

    DestroyWindow();

    ((Cenlist_cliDlg *)m_parent)->m_dia_send = NULL;
    //用了delete就会出错
    delete this;

    CDialog::OnClose();
}
搜索更多相关主题的帖子: 对话框 上下文 
2014-05-25 13:59
砖家的谎言
Rank: 12Rank: 12Rank: 12
等 级:禁止访问
威 望:30
帖 子:693
专家分:3898
注 册:2013-12-6
得分:7 
你在学对话框程序吗,这个好像很少有人懂

我不是砖家,要努力成为砖家。
2014-05-25 15:07
bok002121
Rank: 2
等 级:论坛游民
帖 子:90
专家分:26
注 册:2012-11-11
得分:0 
回复 2 楼 砖家的谎言
MFC........这个你也不知道吗
2014-05-25 15:41
bok002121
Rank: 2
等 级:论坛游民
帖 子:90
专家分:26
注 册:2012-11-11
得分:0 
情况再详细:
一个主窗口,new 产生另一个子窗口;
子窗口关闭的之后
想delete掉这个子窗口对象;
结果就出现了问题
2014-05-25 17:16
funyh250
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:26
帖 子:290
专家分:1573
注 册:2013-12-25
得分:7 
正被停用的激活上下文对于当前执行线程来说不是活动的
是不是跟this有关

搞这个东西我也经常晕

学习是大事   吃喝拉撒睡是小事   其他的那都不是事
2014-05-25 17:24
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
得分:7 
    delete this;

    CDialog::OnClose();

自己删除自己,删除后还调用基类的 OnClose,靠谱么?
为何不在类的外部 delete 呢?或者友元函数也行吧。
还是觉得这是个C++问题,在这里提问不太对路。
其实用 C 通过 API 写 GUI 程序更为直接一些。
2014-05-25 19:05
bok002121
Rank: 2
等 级:论坛游民
帖 子:90
专家分:26
注 册:2012-11-11
得分:0 
回复 6 楼 top398
确实是这个问题.....之前在VC这样写没事,这次在VS写竟然报错了
2014-05-26 08:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-432021-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.740389 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved