您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> VC/MFC >> 可能时候内存越界的问题

可能时候内存越界的问题

来源:网络整理     时间:2016/7/11 0:37:24     关键词:

关于网友提出的“ 可能时候内存越界的问题”问题疑问,本网通过在网上对“ 可能时候内存越界的问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 可能时候内存越界的问题
描述:

现象:程序运行一段时间后 界面上的toolbar 有几率消失不见。。(找不到规律。。可能1天有个2-3次)
下面只调用一次

if(!m_wndtoolbar.CreateEx( this,
TBSTYLE_FLAT , 
WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC,
CRect(4,4,144,16))||!m_wndtoolbar.LoadToolBar(IDR_TOOLBAR3) )
{
TRACE0("failed to create toolbar\n");
return;// FALSE;
}

因为要根据运行的状态设定不同的toolbar图标 我写了一个 ButtonState(int iKey)

if(iKey==1)
{
m_wndtoolbar.Invalidate();
iUserState=1;
m_wndtoolbar.GetToolBarCtrl().SetImageList(&imageList1);   
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
}
if(iKey==0)
{
m_wndtoolbar.Invalidate();
iUserState=0;
m_wndtoolbar.GetToolBarCtrl().SetImageList(&imageList0);   
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
}
//。。。一共4种

imageList 是程序一开始就初始化的  一共4个 供调用
所有关于m_wndtoolbar 的操作都在上面。。
我循环数万次调用 ButtonState 这个函数。。没有任何问题。。所以应该不是内存泄漏
MptTree m_MyTree;
CListCtrl m_MyList;
CEdit m_MyEdit;
CToolBar m_wndtoolbar;
.h文件中是这样声明的。。。现在怀疑是前面的对象抢占了wndtoolbar 的内存空间。。。不知道这样想有没道理。。
MptTree 是继承CTreeCtrl的类。。。现在在查有没写脑残的地方。。。
不知道大侠们有没有什么建议~~~

解决方案1:

排除法解决问题,分离部分代码独立测试!

解决方案2:

偶也来接分~~
~\(≧▽≦)/~~

解决方案3:

接分


以上介绍了“ 可能时候内存越界的问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2503889.html

相关图片

相关文章