我在对话矿的按钮命令中启动DLL并把当前对话框对象和句柄传给DLL,可是始终无法进入相应的对话框类,如下
void CFileTransDlg::OnOK() //当前对话框对象和句柄传给DLL
{ CFileTransDlg *pDlg = (CFileTransDlg *)this;
FtDllStartUp(this->m_hWnd ,pDlg);
// CDialog::OnOK();
}
int WINAPI FtDllStartUp(HWND hWnd,CDialog *pDlg)//
{ g_hFtDllWnd = hWnd;
CSendFileDlg *pFtDlg
if(pDlg->IsKindOf(RUNTIME_CLASS(CSendFileDlg)))
{
//可是始终无法进入
这里进行进一步调用 pFtDlg =dynamic_cast<CSendFileDlg*>(pDlg);
// pFtDlg->CreatePort();
return 3288;
}
else
return 0;
}请教兄弟为是么
void CFileTransDlg::OnOK() //当前对话框对象和句柄传给DLL
{ CFileTransDlg *pDlg = (CFileTransDlg *)this;
FtDllStartUp(this->m_hWnd ,pDlg);
// CDialog::OnOK();
}
int WINAPI FtDllStartUp(HWND hWnd,CDialog *pDlg)//
{ g_hFtDllWnd = hWnd;
CSendFileDlg *pFtDlg
if(pDlg->IsKindOf(RUNTIME_CLASS(CSendFileDlg)))
{
//可是始终无法进入
这里进行进一步调用 pFtDlg =dynamic_cast<CSendFileDlg*>(pDlg);
// pFtDlg->CreatePort();
return 3288;
}
else
return 0;
}请教兄弟为是么
这样的DLL在每个DLL函数开始都要加一句:
AFX_MANAGE_STATE(AfxGetStaticModuleState());
不然无法正确访问MFC的静态信息。我怀疑是不是这个原因导致
pDlg->IsKindOf(RUNTIME_CLASS(CSendFileDlg)
总是的到FALSE.