ASSERT(::IsWindow(m_hWnd))
我在对话框界面上建了一个TEXT控件,可每次一执行到ASSERT(::IsWindow(m_hWnd));就出现Access Violationg.怎么回事呢?
具体如下:
我新建了一基于CWnd的类,在这个类中调用另一个类(基于CDialog)中的函数,即((CClientDlg*)wavedlg)->GetPort(2);函数定义如下:
u_short CClientDlg::GetPort(int pt)
{
int nPort;
if(pt==0)//数据端口
{
GetDlgItem(IDC_DATAPORT)->GetWindowText(m_dataport);
nPort = atoi(m_dataport);
if(nPort < 1 || nPort > 65535)
{
MessageBox("端口号错误!");
return 0;
}
return nPort;
}
if(pt==1) //视频端口
{
GetDlgItem(IDC_VIDEOPORT)->GetWindowText(m_videoport);
nPort=atoi(m_videoport);
if(nPort < 1 || nPort > 65535)
{
MessageBox("端口号错误!");
return 0;
}
return nPort;
}
if(pt==2) //语音端口
{
GetDlgItem(IDC_WAVEPORT)->GetWindowText(m_waveport);
nPort=atoi(m_waveport);
if(nPort < 1 || nPort > 65535)
{
MessageBox("端口号错误!");
return 0;
}
return nPort;
}
else return 0;
}
调试的话就会在这里出问题。