动态改变菜单内存泄漏,各位帮忙看看
VC6中添加一个SDI工程,在CMainFrame中添加一个函数
void CMainFrame::ChgCurMenu(DWORD dwMenuid)
{
CMainFrame *pMain = (CMainFrame*)AfxGetMainWnd();
if (pMain != NULL)
{
SetMenu(NULL);
if (pMain->m_hMenuDefault)
{
::DestroyMenu(pMain->m_hMenuDefault);
}
HINSTANCE hInst = AfxGetResourceHandle();
pMain->m_hMenuDefault = LoadMenu(hInst, MAKEINTRESOURCE(dwMenuid));
pMain->OnUpdateFrameMenu(pMain->m_hMenuDefault);
}
}
然后定时调用它
ChgCurMenu(bChg ? IDR_MAINFRAME : IDR_MAINFRAME1);
除了以上代码其余全部为系统自动生成的代码。问题是我运行它,查看它所使用的内存,会发现内在以4K为单位增加,不会每调用一次就增长,但肯定是在一点一点的往上涨。实在是想不明白为什么。
[解决办法]
'跑了一晚上,没有继续上涨,早上来一动界面就涨了一点,不明白。'
Me too
[解决办法]
这点内存变化可以忽略不记了
[解决办法]