MFC OnDestroy()断言错误???????
我希望客户正常退出前能发给服务端下线消息所以写了以下代码:
服务端接收部分判断:
void fuwuduanReceive::OnReceive(int nErrorCode)
{
if(str==_T("woxiale"))
{
CString name_desu;
arIn>>name_desu;
arIn.Close();
int o=m_pR->m_list.GetCount();
int counting_go=0;
for(int u=0;u!=o;++u)
{
CString word_to;
m_pR->m_list.GetText(u,word_to);
if(name_desu==word_to)
counting_go=u;
}
m_pR->m_list.DeleteString(counting_go);
m_pR->m_out+=name_desu;
m_pR->m_out+=_T("已下线!\r\n");
m_pR->UpdateData(FLASE);
}
}
客户端发送部分:
void CkehuduanDlg::OnDestroy()
{
CSocketFile file(&MySocket);
CArchive arOut(&file,CArchive::store);
CString word(_T("woxiale"));
arOut<<word;
arOut<<name;
arOut.Close();//这句和arOut.Flush()加与不加一样结果
CDialog::OnDestroy();
// TODO: 在此处添加消息处理程序代码
}
然后一触发就狂弹出断言错误An attempt was made to access an unnamed file past its end,即过界了,是不是窗口销毁就不能发送的了啊?哎~~~谁来救救我啊!!!!该怎么改啊?????