DLL中的对话框输出问题
某DLL中有一对话框MyDialog,封一类CMyClass,此类中有一方法MyFunc,在此方法中调用MyDilog.DoModal(),导出CMyClass.在静态链接时,调用MyFunc,在加载对话框资源时总是出错,具体是在CMyDialog::DoDataExchange(CDataExchange* pDX)中,重试是在
HWND CDataExchange::PrepareCtrl(int nIDC)
{
ASSERT(nIDC != 0);
ASSERT(nIDC != -1); // not allowed
HWND hWndCtrl;
m_pDlgWnd->GetDlgItem(nIDC, &hWndCtrl);
if (hWndCtrl == NULL)
{
TRACE1("Error: no data exchange control with ID 0x%04X.\n", nIDC);
ASSERT(FALSE);
AfxThrowNotSupportedException();
}
m_hWndLastControl = hWndCtrl;
m_bEditLastControl = FALSE; // not an edit item by default
ASSERT(hWndCtrl != NULL); // never return NULL handle
return hWndCtrl;
}
中的m_pDlgWnd->GetDlgItem(nIDC, &hWndCtrl)执行后hWndCtrl为空,请问该如何解决?还有就是加载DLL中的对话框中的资源时该如何正确操作?