出错弹出提示 : 0x78aab8ec (mfc90ud.dll) 处未处理的异常: 0xC0000005: 读取位置 0x00000020 时发生访问冲突调用堆栈的显示 :>
mfc90ud.dll!CWnd::MoveWindow(int x=0x000000c6, int y=0x00000124, int nWidth=0x0000000e, int nHeight=0x00000019, int bRepaint=0x00000001) 行307 + 0x3 字节 C++
mfc90ud.dll!CWnd::MoveWindow(const tagRECT * lpRect=0x0127fbec, int bRepaint=0x00000001) 行101 + 0x32 字节 C++这个错误时有时无,不加GetDlgItem(IDC_BUTTON)->MoveWindow(&temp) (线程中用this调用主函数);就没出现过,不知道是怎么回事
启动比主界面早,GetDlgItem(IDC_BUTTON)返回的CWnd是不可预知的,会产生此类错误。
CRect temp;
...
if(::IsWindow(m_hWnd))
{
GetDlgItem(IDC_BUTTON)->MoveWindow(&temp);
}
有时还是会出错
mfc90ud.dll!CWnd::MoveWindow(const tagRECT * lpRect=0x0127fbec ,是这里的CONST问题吗