Помогите пожалуйста найти причину утечки памяти... Я постарался в комментариях в коде описать проблему.
| Код | try { // Блок кода, отображающий путь к файлу, из которого копируется и куда копируется SetDlgItemText(IDC_FROM, strFile); SetDlgItemText(IDC_TO, strDestination); // Получаю размер файла для суммирования общего размера скопированной информации CFile tmpSrcFile(strFile, CFile::modeNoInherit); pView->m_dRealCopied += tmpSrcFile.GetLength(); // Непосредственно сумма скопированной инфы tmpSrcFile.Close(); // А вот здесь начинает утекать память, я комментировал все блоки кода, кроме функции // CopyFile, и тогда с памятью все ок if (CopyFile(strFile, strDestination, FALSE)) { // Здесь я изменяю дату модификации скопированного файла // в блоке catch получаю кучу ошибок, но они не так сейчас волнуют, похоже, что они вызваны // тем, что после копирования сразу не всегда можно открыть файл для изменения // даты модификации CFile tmpFile(strDestination, CFile::modeNoInherit); FILETIME ft; SYSTEMTIME st; GetSystemTime(&st); SystemTimeToFileTime(&st, &ft); SetFileTime(tmpFile.m_hFile, (LPFILETIME)NULL, (LPFILETIME)NULL, &ft); tmpFile.Close(); } else { // Вывод ошибки в моем окне вида strDestination = CString("Ошибка записи файла ") + strDestination; pView->Trace(strDestination); } } catch (CFileException* error) { pView->Trace(error->m_strFileName); }
|
|