修正了一个内存泄露的问题
2011-03-05 21:26
330 查看
void GTPIcon::LoadIconInfo( )
{
StructIconInfo* picon=GTPIcon::FindPIconOrigion(m_IconCode);
if(picon!=NULL)
{
LoadSubsFromXml(picon->XmlData);
m_pIconInfo=picon;
m_Remark=m_pIconInfo->IconName;
}
else
{
CPIconDB::OpenDB();
int count=0;
CString strCondition;
strCondition.Format(_T("IconID=%d"),m_IconCode);
StructIconInfo* pIconInfo=new StructIconInfo();
pIconInfo->IconCode=m_IconCode;
struct StructIcon** listicon=CPIconDB::OpenRstIcon(strCondition,count);
if(count!=1)return;
pIconInfo->Angle=listicon[0]->Angle;
pIconInfo->IconName=listicon[0]->IconName;
pIconInfo->Mirror=listicon[0]->Mirror;
pIconInfo->NavigateType=listicon[0]->NavigateType;
delete listicon[0];
delete[] listicon;
strCondition.Format(_T("IconCode=%d"),m_IconCode);
struct StructIconDetailForEdit** listRecord=CPIconDB::OpenRstIconDetailForEdit(strCondition,count);
if(count>0)
{
LoadSubsFromXml(listRecord[0]->XmlData);
pIconInfo->XmlData=listRecord[0]->XmlData;
delete listRecord[0];
delete[] listRecord;
}
m_pIconInfo=pIconInfo;
m_ListPIcon.push_back(pIconInfo);
m_Remark=m_pIconInfo->IconName;
}
}
{
StructIconInfo* picon=GTPIcon::FindPIconOrigion(m_IconCode);
if(picon!=NULL)
{
LoadSubsFromXml(picon->XmlData);
m_pIconInfo=picon;
m_Remark=m_pIconInfo->IconName;
}
else
{
CPIconDB::OpenDB();
int count=0;
CString strCondition;
strCondition.Format(_T("IconID=%d"),m_IconCode);
StructIconInfo* pIconInfo=new StructIconInfo();
pIconInfo->IconCode=m_IconCode;
struct StructIcon** listicon=CPIconDB::OpenRstIcon(strCondition,count);
if(count!=1)return;
pIconInfo->Angle=listicon[0]->Angle;
pIconInfo->IconName=listicon[0]->IconName;
pIconInfo->Mirror=listicon[0]->Mirror;
pIconInfo->NavigateType=listicon[0]->NavigateType;
delete listicon[0];
delete[] listicon;
strCondition.Format(_T("IconCode=%d"),m_IconCode);
struct StructIconDetailForEdit** listRecord=CPIconDB::OpenRstIconDetailForEdit(strCondition,count);
if(count>0)
{
LoadSubsFromXml(listRecord[0]->XmlData);
pIconInfo->XmlData=listRecord[0]->XmlData;
delete listRecord[0];
delete[] listRecord;
}
m_pIconInfo=pIconInfo;
m_ListPIcon.push_back(pIconInfo);
m_Remark=m_pIconInfo->IconName;
}
}
相关文章推荐
- 一个常见的android内存泄露 问题
- 一个Unity材质赋值内存泄露问题
- 写了一个可以记录路线的计步器,好像有内存泄露问题,求指点
- 关于一个内存泄露的问题
- 一个Context内存泄露的例子(3.0后已修正)
- leakcanary作者发现的一个Dialog的各种listener容易引发的内存泄露问题
- 一个常见的android内存泄露 问题
- 一个不经意的内存泄露问题
- 一个内存泄露问题的定位
- 一个C语言典型的内存泄露问题
- 一个常见的android内存泄露 问题
- 一个JS图片放大镜,实现动态记录的图片放大,避免内存泄露,解决IE6下无法遮盖select控件问题
- 一个诡异的C++内存泄露问题。
- 一个JS图片放大镜,实现动态记录的图片放大,避免内存泄露,解决IE6下无法遮盖select控件问题
- delphi的日志组件log4d的内存泄露问题
- JAVA垃圾回收机制与内存泄露问题
- 发现Java虚拟机内存泄露问题
- Android 性能优化之使用MAT分析内存泄露问题
- Rxlifecycle使用详解,解决RxJava内存泄露问题
- Delphi的内存管理及内存泄露问题