Это мой первый пост так нежен: DGetText() memoryleak
Я только начал на этой работе, и моя первая задача состояла в том, чтобы найти утечку, которую я сделал, указала комментарий. я контролирую щелкнул Gettext() и я получаю
virtual System::WideChar * __fastcall GetText(void);
Я добавил 5 дополнительных pwide и утечки увеличение (использование памяти в главной задачи увеличилась на 1000).
Я попытался удалить и освободить, но я получаю исключения. Кто-нибудь получил какие-либо советы о том, как подключить утечку?
Вот мой код:
UnicodeString CReportManager::GetFinalHTML()
{
UnicodeString ret = "";
ret = "<Reports>";
if(ErrorHTML->Count)
{
ret += "<Errors>" + UnicodeString(ErrorHTML->GetText()) + "</Errors>";
}
//System::WideChar *pWide= ReportHTML->GetText();
//System::WideChar *pWide4= ReportHTML->GetText();
//System::WideChar *pWide1= ReportHTML->GetText();
//System::WideChar *pWide2= ReportHTML->GetText();
//System::WideChar *pWide3= ReportHTML->GetText();
//delete pWide;
// free(pWide);
//ret +=pWide;
ret += ReportHTML->GetText(); //leak here
ret += "</Reports>";
#ifdef _DEBUG
ReportHTML->SaveToFile("C:\\debug.xml");
#endif
delete ReportHTML;
delete ErrorHTML;
ReportHTML = NULL;
ErrorHTML = NULL;
return ret;
}
Можете ли вы поделиться кодом 'GetText()'? –
Добро пожаловать. Прежде всего, неясно, какие рамки или библиотеки вы используете здесь, RadStudio? Получаете ли вы исключения как «free», так и «delete»? – sukhmel
У вас есть разрешение на размещение кода компании в Интернете? – BoBTFish