Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2009, 19:40   #1
dueram
Пользователь
 
Регистрация: 24.11.2009
Сообщений: 12
По умолчанию Не могу понять, где утечка памяти (9 строчек)

Здравствуйте, я пишу программу, но в ней наблюдается утечка памяти. Экспериментально я выяснил, что проблема в следующем коде:

HDC hDCMem = CreateCompatibleDC(NULL);
RECT rect; int i=0;
GetWindowRect(hwnd, &rect);
HBITMAP hBmp = NULL;
hBmp = CreateCompatibleBitmap(hdc, rect.right - rect.left, rect.bottom - rect.top);
HGDIOBJ hOld = SelectObject(hDCMem, hBmp);
BitBlt(hDCMem, 0,0, rect.right - rect.left, rect.bottom - rect.top, hdc, 0,0, SRCCOPY);
SelectObject(hDCMem, hOld);
DeleteObject(hDCMem);

Так как он повторяется очень часто, программа быстро отжирает более гигабайта памяти (при стартовых паре мегабайт).
В чем здесь проблема и как ее решить?
dueram вне форума Ответить с цитированием
Старый 24.11.2009, 19:56   #2
dueram
Пользователь
 
Регистрация: 24.11.2009
Сообщений: 12
По умолчанию

Решение найдено: кто ж за меня hBmp удалять будет...
В конец функции добавляется DeleteObject(hBmp);
dueram вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу понять где ошибка в коде SeRhy Общие вопросы C/C++ 5 20.09.2009 13:10
не могу понять Dawystrik SQL, базы данных 0 06.09.2009 19:20
утечка памяти в С++ vengo Общие вопросы C/C++ 9 10.06.2008 21:24
DrawState - утечка памяти? unnamed Win Api 2 11.04.2007 18:36
не могу понять... Dutchman Паскаль, Turbo Pascal, PascalABC.NET 4 14.12.2006 07:14