在基于对话框的用户程序中,点击一个按钮,我使用下面的代码,能够成功的调用omsdll.dll。可是在基于文档视图的用户程序中点击一个按钮我使用同样的代码调试可以通过,但运行会报错。这是为什么?基于对话框和基于文档视图的程序调用dll有什么区别呢?用户程序部分点击按钮响应的代码:
typedef void (WINAPI * OMSDLL)();
HINSTANCE hmod;
hmod = LoadLibrary ("omsdll.dll");
if(hmod==NULL)
{
AfxMessageBox("Fail");
}
OMSDLL lpproc;
lpproc = (OMSDLL)GetProcAddress (hmod,"Show");
if(lpproc!=(OMSDLL)NULL)
(*lpproc)();
FreeLibrary(hmod);DLL程序部分响应代码
extern "C" __declspec(dllexport) void Show()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CTest test;
test.DoModal ();
}