为什么dll中MoveWindow主程序对话框出错?
dll:
extern "C" __declspec(dllexport) void MoveMainDlg(CMainDlg *dlg)
{
dlg->MoveDlg();
}
主对话框类:
void CMainDlg::MoveDlg()
{
MoveWindow(20, 30, 250, 280);
}
出现错误:
sww.exe 中的 0x00000000 处未处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突
调试窗口:winocc.cpp
void CWnd::MoveWindow(int x, int y, int nWidth, int nHeight, BOOL bRepaint)
{
ASSERT(::IsWindow(m_hWnd) || (m_pCtrlSite != NULL));
if (m_pCtrlSite == NULL)
::MoveWindow(m_hWnd, x, y, nWidth, nHeight, bRepaint);
else
m_pCtrlSite->MoveWindow(x, y, nWidth, nHeight);
}
这到底是什么原因?