Create CDHtmlDialog in statically linked MFC DLL failed
Hi,
My project need use a exe(statically linked MFC) load a dll(statically
linked MFC),
and create a CDHtmlDialog in the dll.
I add a CDHtmlDialog to the DLL, "class DHtmlDialogTest : public
CDHtmlDialog"
and create dialog at DLL's export function,
"DHtmlDialogTest.Create(IDD_DHtmlDialogTest ,
CWnd::GetDesktopWindow());"
But when excute DHtmlDialogTest.Create(IDD_DHtmlDialogTest ,
CWnd::GetDesktopWindow());
then it'll enter "dlgdhtml.cpp"'s function
"CDHtmlDialog::OnInitDialog()"
at following code inside "CDHtmlDialog::OnInitDialog()"
--------------------------------------------------------------------------
if (m_pBrowserApp == NULL)
{
// create the control window
m_wndBrowser.CreateControl(CLSID_WebBrowser, NULL,
WS_VISIBLE | WS_CHILD, rectClient, this, AFX_IDC_BROWSER);
lpUnk = m_wndBrowser.GetControlUnknown();
if (FAILED(lpUnk->QueryInterface(IID_IWebBrowser2, (void**)
&m_pBrowserApp)))
{
m_wndBrowser.DestroyWindow();
DestroyWindow();
return TRUE;
}
}
--------------------------------------------------------------------------
it will GPF which is get a unhandle exception when excute
if (FAILED(lpUnk->QueryInterface(IID_IWebBrowser2, (void**)
&m_pBrowserApp)))
the m_wndBrowser is NULL and lpUnk is also NULL.
and,
1. I can create a CDialog in the same DLL above, only can't create a
CDHtmlDialog.
2. If use a exe(dynamically link MFC) load a dll(Extension DLL use
MFC),
it have no problem,
it can do the same thing, create a CDHtmlDialog in the dll perfectly.
Maybe because I can't load the resource?
Because I trce the call stack, when enter afxwin2.inl excute following
code:
CDialog::Create(ATL_MAKEINTRESOURCE(nIDTemplate), pParentWnd);
ATL_MAKEINTRESOURCE(nIDTemplate) return a bad ptr,
Or is there any thing I need to be careful when use a exe(statically
linked MFC) load a dll(statically linked MFC),
and create a CDHtmlDialog in the dll?
Thanks for your help~
--
rocktilldie
------------------------------------------------------------------------
Posted via http://www.codecomments.com
------------------------------------------------------------------------