First-chance exception in MAIN.exe: 0xC0000005: Access Violation.

解决方案 »

  1.   

    基于单文档的程序,在CMainApp里启动了一个监听的进程(调用别人封装好的API),收到数据后给MainFrame发一个message(postmessage),下面的是消息处理函数
    先取得MainApp的指针,因为在mainapp里初始化了和数据库的连接,此处将直接调用app->pSet进行写入,成功后弹出一个CWarnDlg,最后返回
    现在的问题是,第一次接收数据包,可以成功写入并返回,第二次就会出现Access violation的错误,请帮忙分析一下long  CMainFrame::OnTrap(LPARAM lParam, WPARAM wParam)
    {
    CMAINApp *app = (CMAINApp *)AfxGetApp();
    if(app==NULL)
    TRACE("NULL pointer here");
    CWarnDlg dlg(app->m_trapServer.m_traps.Left(app->m_trapServer.m_traps.Find("\t")));
    if(dlg.DoModal()==IDOK)
    app->m_vmSnmp.OnDestroy(); return 1l;
    }