|
各位大侠,这是我写的打开位图程序,现在发现有严重的内存泄露问题,拜托大家帮忙找找原因??
是不是应该自己先建块内存,最后再把这块内存删掉??可是具体怎么实现呢??
switch(flag0)
{
case 1:
{
pathsave1=app->dao1+_T(".bmp");//获取地址
bitmap.Attach(SHLoadDIBitmap(pathsave1));
m_bitmapS.SetBitmap(bitmap);
m_bitmapS.SetBitmap(bitmap);
bitmap.Detach();
}
break;
case 2:
{
pathsave2=app->dao2+_T(".bmp");
bitmap.Attach(SHLoadDIBitmap(pathsave2));
m_bitmapS.SetBitmap(bitmap);
m_bitmapS.SetBitmap(bitmap);
bitmap.Detach();
}
break;
case 3:
{
pathsave3=app->dao3+_T(".bmp");
bitmap.Attach(SHLoadDIBitmap(pathsave3));
m_bitmapS.SetBitmap(bitmap);
m_bitmapS.SetBitmap(bitmap);
bitmap.Detach();
}
break;
case 4:
{
pathsave4=app->dao4+_T(".bmp");
bitmap.Attach(SHLoadDIBitmap(pathsave4));
m_bitmapS.SetBitmap(bitmap);
m_bitmapS.SetBitmap(bitmap);
bitmap.Detach();
}
break;
case 5:
{
pathsave5=app->dao5+_T(".bmp");
bitmap.Attach(SHLoadDIBitmap(pathsave5));
m_bitmapS.SetBitmap(bitmap);
m_bitmapS.SetBitmap(bitmap);
bitmap.Detach();
}
break;
}
|
|