Помощь - Поиск - Пользователи - Календарь
Полная версия: SetFocus утечка памяти win7 скачать бесплатно
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
TarasBer
В общем у меня в программе так получается, что если нажать и удерживать одну кнопку, то по диспетчеру задач память начинает расти. Медленно, но всё же.
Ну я перепугался, стал все структуры и методы перетряхивать, чтобы понять, где я забыл указатель зарегистрировать и удалить, искал, всё закомментировал, ничего не нашёл.

В общем, я в итоге нашёл строчку, после закомментирования которой утечки исчезают. (А после раскомментирования снова появляются.)

Вот она:

SetFocus(edCode.Handle);


Доктор, как это понимать? Я умру?
IUnknown
Написание простейшего теста (WinAPI окно + кнопка + поле ввода) не выявило каких-либо утечек при зажимании кнопки. Значит, что-то все-же у тебя со структурами не так. Минимальный проект, иллюстрирующий проблему, можешь собрать? Для начала - где именно находится этот SetFocus? И что делается в WM_SETFOCUS того самого edCode?
TarasBer
> И что делается в WM_SETFOCUS того самого edCode?

Ничего. Я заменил велосипедный класс на стандартный, утечка осталась.

> Минимальный проект, иллюстрирующий проблему, можешь собрать?

Ща попробую. В общем, запускаете, держите F9, глядя в диспетчер задач.
Нажмите для просмотра прикрепленного файла
Опции компилятора
Нажмите для просмотра прикрепленного файла

Ещё та же фигня на wglMakeCurrent

Добавлено через 14 мин.
Забыл сказать: строка 137
IUnknown
Постоянного роста потребления памяти не наблюдаю. Сначала - да, за первую секунду чуть увеличивается, на несколько К, но потом сколько я не держал F9 - не увеличивается совершенно. Компилировал D2009 (из-за чего пришлось чуть подкорректировать код, поменять кое-где PChar на PAnsiChar), на Win7 Ultimate.
TarasBer
Странно вообще.
С компилятором это связано быть не может.
Значит, опять винда голову морочит.
TarasBer
Внезапно заметил в этой же колонке (выделенная память), что у Дельфи-7 занято 770 мегабайт оперативы.
Что-то я перестал понимать, что там вообще.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.