我在A中开启了一个对话框CMyFrame
B里面用方法A和方法B,外加一个CRITICAL_SECTION
它的作用是方法A和方法B相互等待对方完成,再执行自己的代码段
class CMyFrame:public CDialog
{
void A();
void B();
CRITICAL_SECTION m_sc;
};void CMyFrame::A()
{
enter();
.....
leave();
}
void CMyFrame::B()
{
enter();
.....
leave();
}现在有一个问题是在外部调用A()执行完以后,将CMyFrame关闭了,删除了。
但这时B()还在等待enter() ,它在进入时CMyFrame已经不存在了,这里它使用
CRITICAL_SECTION就出错了。让B不再向下走,这种问题怎么改啊,大家帮助一下,困扰我很久了。
B里面用方法A和方法B,外加一个CRITICAL_SECTION
它的作用是方法A和方法B相互等待对方完成,再执行自己的代码段
class CMyFrame:public CDialog
{
void A();
void B();
CRITICAL_SECTION m_sc;
};void CMyFrame::A()
{
enter();
.....
leave();
}
void CMyFrame::B()
{
enter();
.....
leave();
}现在有一个问题是在外部调用A()执行完以后,将CMyFrame关闭了,删除了。
但这时B()还在等待enter() ,它在进入时CMyFrame已经不存在了,这里它使用
CRITICAL_SECTION就出错了。让B不再向下走,这种问题怎么改啊,大家帮助一下,困扰我很久了。
已经进行对象了,代码段会继续往下走的