在vc7中间,我在一个view里面的一个函数里面有invalidate函数刷新客户区,在app中间条用这个函数出现异常,怎么回事,断点运行是invalidate函数的问题,说是tpes.exe 中的 0x006651da 处未处理的异常: 0xC0000005: 读取位置 0x0000001c 时发生访问冲突 。

解决方案 »

  1.   

    在app中间条用这个函数出现异常贴代码
      

  2.   

    BOOL CtpesApp::InitInstance()
    {
    // 如果一个运行在 Windows XP 上的应用程序清单指定要
    // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
    //则需要 InitCommonControls()。否则,将无法创建窗口。
    InitCommonControls(); CWinApp::InitInstance(); // 初始化 OLE 库
    if (!AfxOleInit())
    {
    AfxMessageBox(IDP_OLE_INIT_FAILED);
    return FALSE;
    }
    AfxEnableControlContainer();
    // 标准初始化
    // 如果未使用这些功能并希望减小
    // 最终可执行文件的大小,则应移除下列
    // 不需要的特定初始化例程
    // 更改用于存储设置的注册表项
    // TODO: 应适当修改该字符串,
    // 例如修改为公司或组织名
    SetRegistryKey(_T("应用程序向导生成的本地应用程序"));
    LoadStdProfileSettings(4);  // 加载标准 INI 文件选项(包括 MRU)
    // 注册应用程序的文档模板。文档模板
    // 将用作文档、框架窗口和视图之间的连接 if(!_xRegisterDocTemplate())
    return FALSE; // 创建主 MDI 框架窗口
    CMainFrame* pMainFrame = new CMainFrame;
    if (!pMainFrame || !pMainFrame->LoadFrame(IDR_MAINFRAME))
    return FALSE;
    m_pMainWnd = pMainFrame;
    // 仅当具有后缀时才调用 DragAcceptFiles
    //  在 MDI 应用程序中,这应在设置 m_pMainWnd 之后立即发生
    // 分析标准外壳命令、DDE、打开文件操作的命令行
    CCommandLineInfo cmdInfo;
    ParseCommandLine(cmdInfo);
    // Prevent auto creating new file:
    if(cmdInfo.m_nShellCommand==CCommandLineInfo::FileNew)
    {
    cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;
    }
    // 调度在命令行中指定的命令。如果
    // 用 /RegServer、/Register、/Unregserver 或 /Unregister 启动应用程序,则返回 FALSE。
    if (!ProcessShellCommand(cmdInfo))
    return FALSE;
    // 主窗口已初始化,因此显示它并对其进行更新
    pMainFrame->ShowWindow(SW_SHOWMAXIMIZED);
    pMainFrame->UpdateWindow();
    CMDIFrameWnd *pFrame = 
    (CMDIFrameWnd*)AfxGetApp()->m_pMainWnd; // Get the active MDI child window.
    CMDIChildWnd *pChild = 
    (CMDIChildWnd *) pFrame->GetActiveFrame();
    myview=(CtpesView*)pChild->GetActiveView(); return TRUE;
    }
    在另外的函数调用
      

  3.   

    0x006651da?结合.map文件查看源代码