![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 10.11.2009
Сообщений: 50
|
![]()
Здравствуйте. Вот есть некие код, который вроде бы и работает но при работе наблюдается лавинообразный эффект поглощения памяти.
Подскажите как в данном случае можно освобождать память?Или где по вашему мнению утечка? Есть мнение что вся проблема в BYTE* bitPointer, но как его очистить? В мануалах ничего найти не смог. Спасибо. Реализация в win application. stdafx.h Код:
Код:
Последний раз редактировалось CWD; 23.08.2012 в 21:41. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 09.10.2010
Сообщений: 217
|
![]()
Деструктора не хватает.
Ёж птица гордая, пока не пнешь не полетит.
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,368
|
![]()
Открываем документацию и читаем про CreateDIBSection - что надо делать с полученным HBITMAP когда закончим?
Кстати, вы выбрали самый сложный способ прочитать пиксель... Зачем копировать *все* окно, можено сделать GetPixel() прямо из winDC |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 10.11.2009
Сообщений: 50
|
![]()
waleri HBITMAP удаляется, но утечка продолжается.
Код:
Код:
Последний раз редактировалось CWD; 24.08.2012 в 01:05. |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
ReleaseDC так же выполняется не всегда.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 10.11.2009
Сообщений: 50
|
![]()
Пепел феникса, находил много жалоб на утечку памяти в этой строке на других форумах, но к сожалению не нашел решений. Думал может кто сталкивался с такой штукой.
Если строку закоментить то проблема с утечкой решается Код:
Но очень она нужна эта строка. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
у вас сначала выполняется return.
до ReleaseDC не доходит выполнение. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 10.11.2009
Сообщений: 50
|
![]()
Пепел феникса, спасибо! Проблема была именно в этом месте.
P.S. Проблема решена, а была она в криворукости Топик Стартера. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как очистить экран? | shrek1993 | Visual C++ | 2 | 18.07.2012 21:34 |
как очистить массив??? | yura_zb | Общие вопросы C/C++ | 4 | 02.05.2011 21:43 |
Как очистить Canvas? | beegl | Общие вопросы Delphi | 4 | 30.05.2008 02:51 |
Как очистить Canvas? | Pro_BerSerK | Общие вопросы Delphi | 9 | 30.01.2008 16:03 |
как очистить экран | doncova1 | Общие вопросы C/C++ | 3 | 18.03.2007 09:50 |