首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

OCX 二次创设窗口崩溃

2013-01-11 
OCX 二次创建窗口崩溃本帖最后由 chengwei_zhang1225 于 2012-11-14 17:01:07 编辑背景:在OCXCtrl.cpp中 O

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;
}


这个当然能show出来

然后在响应web中一个按钮时我新建一个对话框(弹出式 Popup型)

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:
                .....

}


这个第一次响应是可以弹出来的 也能显示视频
但是当我关闭这个窗口 再次点击时就崩溃了。。。这是为什么啊?

是不是 关闭时资源没释放,导致再次点击创建时崩溃?
[解决办法]
如果可能,给出代码测试代码

热点排行