描述:
这个问题已经很多网友提问过了,我也在网上找到了一些解决方案。其中最好的是下面这个方案。但是这个方案中的AfxOleInitModule()函数必须是_AFXDLL版本的才能调用,但是为了在dll中导出对话框资源,用_AFXDLL版本的很不好办,而且没办法发布出去。但用#ifndef _AFXDLL版本的又调用不了AfxOleInitModule()函数啊。我该怎么办呢??哪为知道如何解决的高手请千万要快点告诉我啊,客户在催了。
MFC常规DLL
extern "C" __declspec(dllexport) int Calc(int x)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CMyDialog dlg;
dlg.DoModal();
return 2*x;
}
BOOL CSampDLLApp::InitInstance()
{
AfxOleInitModule();
AfxEnableControlContainer();
return CWinApp::InitInstance();
}