msvcr100d.dll处有未处理的异常
@平原君 你好,想跟你请教个问题:
void TCPScan::OnScanStart() { // TODO: Add your control notification handler code here GetDlgItem(IDC_ScanStart)->EnableWindow(FALSE); bStop = false; bPause = false; ThreadParament *param = new ThreadParament; memset(param,0,sizeof(ThreadParament)); DWORD startip,endip; this->m_ipfrom.GetAddress(startip); this->m_ipto.GetAddress(endip); param->dwOriginalIP = startip; if(this->m_ifsingleip) { param->dwLastIP =startip; } else { param->dwLastIP = endip; } this->UpdateData(true); param->dwOriginalPort = this->m_portfrom; if(m_ifsingleport) { param->dwLastPort = this->m_portfrom; } else { param->dwLastPort = this->m_portto; } this->UpdateData(false); param->dwTimeOut = 2; AfxGetApp()->m_pMainWnd->SendMessage(WM_SCAN_START,WPARAM(param),scantype); }
其中,ThreadParament的代码为:
struct ThreadParament { DWORD dwOriginalIP,dwLastIP,dwOriginalPort,dwLastPort,dwTimeOut,dwTimeForOnePort,dwPacketNo; pcap_if_t *SelectDev; char HostMac[6]; DWORD dwHostIP,dwNetMAsk,dwDefaultGateway,dwTimeBetweenToPackets; };
但执行到
AfxGetApp()->m_pMainWnd->SendMessage(WM_SCAN_START,WPARAM(param),scantype);报错。单步调试时,运行到afxwin2.inl中这一处时,报上面的错误:
AFXWIN_INLINE LRESULT CWnd::_AFX_FUNCNAME(SendMessage)(UINT message, WPARAM wParam, LPARAM lParam) const
{ ASSERT(::IsWindow(m_hWnd)); return ::SendMessage(m_hWnd, message, wParam, lParam); }
求解决。。。。。。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
那你把工程打个包发我吧,只看部分代码不是很好确定问题处在哪里,发我qq邮箱就行
楼上说的差不多,一般爆出这种错误的,都是一个指针未赋值或者数组越界,结合你的描述来看,应该就是m_pMainWnd没有赋值了。另外,你的问题提的很详细,这样才是好的提问,不然我想回答都未必能回答的了。
楼上说的差不多,一般爆出这种错误的,都是一个指针未赋值或者数组越界,结合你的描述来看,应该就是m_pMainWnd没有赋值了。另外,你的问题提的很详细,这样才是好的提问,不然我想回答都未必能回答的了。
对话框有 m_pmainwnd ? 看看 APP类里赋值了没