对话框打开关闭存在内存泄露,求助!
1.VC6.0 新建ATL COM,增加接口,用于弹出模态(非模态)对话框。
2.VC6.0 新建多文档视图,菜单响应,调用1中提供的接口。
测试发现:对话框打开关闭存在内存泄露。
非模态对话框打开代码如下:
1)COM中打开非模态对话框接口
2)COM中对话框是向导生成的,为支持非模态对话框,增加如下函数:
3)exe中菜单响应
2.VC6.0 新建多文档视图,菜单响应,调用1中提供的接口。
测试发现:对话框打开关闭存在内存泄露。
非模态对话框打开代码如下:
1)COM中打开非模态对话框接口
STDMETHODIMP CIn::opendlg()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState())
CDlg *pDlg = new CDlg;
pDlg->Create(IDD_DIALOG1,NULL);
pDlg->ShowWindow(SW_SHOW);
return S_OK;
}2)COM中对话框是向导生成的,为支持非模态对话框,增加如下函数:
void CDlg::OnClose()
{
CDialog::OnClose();
DestroyWindow();
}
void CDlg::PostNcDestroy()
{
delete this;
CDialog::PostNcDestroy();
}3)exe中菜单响应
void CMainFrame::OnOpen1()
{
//g_Oper1是接口指针,在CMainFrame中OnCreate中创建
if(NULL != g_Oper1)
{
g_Oper1->opendlg();
}
}
...全文
相关推荐
vue+ElementUI 关闭对话框清空验证,清除form表单的操作
在这个过程中,我们可能会遇到一个问题:当用户关闭对话框后,之前输入的数据和验证状态依然保留,导致再次打开对话框时,上次的验证错误仍然存在。
MFC中Ribbon菜单元素打开关闭非模态对话框源码
本篇文章将深入探讨如何在MFC的Ribbon菜单元素中实现打开和关闭非模态对话框的功能,并提供源码参考。首先,我们需要理解Ribbon界面的基本结构。
JAVA文件打开关闭操作
"这篇文档主要介绍了在JAVA中如何使用JFileChooser组件进行文件的打开、保存和关闭操作。JFileChooser是JAVA Swing库中的一个组件,它提供了用户友好的图形界面,让用户能
zDialog关闭所有弹出的对话框
**异常处理**:在关闭过程中可能会遇到对话框已经被关闭或者不存在的情况,因此需要合理的异常处理机制,确保程序的健壮性。8.
win32下打开打开文件对话框
`Flags`字段设置了对话框的行为,如必须选择存在的文件和路径。


