在DLL中的全局函数
int Start(void)
{
CDllDialog TempDialog;
if(TempDialog.DoModal() == IDOK)//不能进入!
{
MessageBox(NULL,"ok","ok",MB_OK);
}
return 0;
}
int Start(void)
{
CDllDialog TempDialog;
if(TempDialog.DoModal() == IDOK)//不能进入!
{
MessageBox(NULL,"ok","ok",MB_OK);
}
return 0;
}
AfxInitRichEdit();//Richeidt的支持
你最好先做一个空白的对话框试试。
AFX_MANAGE_STATE(AfxGetStaticModuleState());
跟踪到函数中发现TempDialog.DoModal()直接返回了-1。
加AFX_MANAGE_STATE(AfxGetStaticModuleState());不行啊
資源句柄是否切換到dll裡?
句柄切入dll:
hInst = GetModuleHandle(DllName);
if (hInst)
{
hOldInst = AfxGetResourceHandle();
AfxSetResourceHandle(hInst);
}
else
return;
在destroy或者你認為合適的時候: AfxSetResourceHandle(hOldInst); 切回去。