• 【MFC】0xC0000005: 读取位置 0x00000020 时发生访问冲突


    原因:使用GetDlgItem()函数时需要先判断指针然后才可以使用。

    错误代码:

    //重新建一个线程,查询帧同步
    DWORD WINAPI SCsync_Thread(LPVOID Lparam)
    {
        CTABPAGE1 * ppPage = (CTABPAGE1 *)Lparam;;// 创建指针指向当前类
        ULONG SYNC;
        char SSync[4];
        while(1)
        {
            ppPage->ReadReg(hDev, 0x08, &SYNC, 1);//该地址读取出来低八位是同步信息
            memcpy(SSync,&SYNC,4*sizeof(char));
            if (SSync[3] == 1)//说明已经同步
            {
                ppPage->GetDlgItem(IDC_STATIC_SCsync_green)->ShowWindow(SW_SHOW);//显示绿灯
                ppPage->GetDlgItem(IDC_STATIC_SCsync_Red)->ShowWindow(SW_HIDE);
            }
            else
            {
                ppPage->GetDlgItem(IDC_STATIC_SCsync_Red)->ShowWindow(SW_SHOW);//显示红灯
                ppPage->GetDlgItem(IDC_STATIC_SCsync_green)->ShowWindow(SW_HIDE);
            }
        }
    
    }

    加上判断指针之后的正确的代码:

    //重新建一个线程,查询帧同步
    DWORD WINAPI SCsync_Thread(LPVOID Lparam)
    {
        CTABPAGE1 * ppPage = (CTABPAGE1 *)Lparam;;// 创建指针指向当前类
        ULONG SYNC;
        char SSync[4];
        while(1)
        {
            ppPage->ReadReg(hDev, 0x08, &SYNC, 1);//该地址读取出来低八位是同步信息
            memcpy(SSync,&SYNC,4*sizeof(char));
            if (SSync[3] == 1)//说明已经同步
            {
                if (ppPage->GetDlgItem(IDC_STATIC_SCsync_green))
                ppPage->GetDlgItem(IDC_STATIC_SCsync_green)->ShowWindow(SW_SHOW);//显示绿灯
                if (ppPage->GetDlgItem(IDC_STATIC_SCsync_Red))
                ppPage->GetDlgItem(IDC_STATIC_SCsync_Red)->ShowWindow(SW_HIDE);
            }
            else
            {
                if (ppPage->GetDlgItem(IDC_STATIC_SCsync_Red))//判断之后才能使用该指针
                ppPage->GetDlgItem(IDC_STATIC_SCsync_Red)->ShowWindow(SW_SHOW);//显示红灯
                if (ppPage->GetDlgItem(IDC_STATIC_SCsync_green))
                ppPage->GetDlgItem(IDC_STATIC_SCsync_green)->ShowWindow(SW_HIDE);
            }
        }
    
    }
  • 相关阅读:
    MongoDB Http Interface
    从python2.7和python3.0的语法差异总结
    从python2.7和python3.0的语法差异总结
    MongoDB聚合aggregate
    MongoDB聚合aggregate
    Windows 有没有办法查看文件被哪个进程占用
    Windows 有没有办法查看文件被哪个进程占用
    开启mongodb 的web
    开启mongodb 的web
    MongoDB基本命令操作
  • 原文地址:https://www.cnblogs.com/waimen/p/6589373.html
Copyright © 2020-2023  润新知