您的位置:首页 > 其它

修正了一个内存泄露的问题

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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: