OCX 二次创建窗口崩溃
本帖最后由 chengwei_zhang1225 于 2012-11-14 17:01:07 编辑 背景:
在OCXCtrl.cpp中 OnCreate()创建一个对话框(嵌入式 Child形)
int CVMC_OCXCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;
m_VMCDlg.Create(IDD_MAINDLG,this);
m_VMCDlg.ShowWindow(SW_SHOW);
return 0;
}
void CVMC_OCXCtrl::StartPlayJump(LPCTSTR fdid, LONG chanlid)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
if(m_JumpDlg.g_JumpDestoryed)
{
g_WndFlag = 0;
}
g_WndFlag++;
if (g_WndFlag<0 )
{
AfxMessageBox("窗体编号ERROR");
}
else if(g_WndFlag>16)
{
MessageBox("最大为16路视频","提示");
}
switch (g_WndFlag)
{
case 1:
m_JumpDlg.Create(IDD_JUMPPLAY_DLG,this);
m_JumpDlg.ShowWindow(SW_SHOW);
m_JumpDlg.MoveWindow(0,0,500,450,TRUE);//创建弹出播放框口 m_JumpDlg.proInitWndPlayInfo_jump(fdid,chanlid,g_WndFlag-1);
m_JumpDlg.StartJumpVideo();
break;
case 2:
.....
}