Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ SetFocus утечка памяти win7 скачать бесплатно

Автор: TarasBer 20.02.2012 14:41

В общем у меня в программе так получается, что если нажать и удерживать одну кнопку, то по диспетчеру задач память начинает расти. Медленно, но всё же.
Ну я перепугался, стал все структуры и методы перетряхивать, чтобы понять, где я забыл указатель зарегистрировать и удалить, искал, всё закомментировал, ничего не нашёл.

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

Вот она:


SetFocus(edCode.Handle);


Доктор, как это понимать? Я умру?

Автор: IUnknown 20.02.2012 15:33

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

Автор: TarasBer 20.02.2012 15:52

> И что делается в WM_SETFOCUS того самого edCode?

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

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

Ща попробую. В общем, запускаете, держите F9, глядя в диспетчер задач.
Прикрепленный файл  memleak.rar ( 8.93 килобайт ) Кол-во скачиваний: 595

Опции компилятора
Прикрепленное изображение

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

Добавлено через 14 мин.
Забыл сказать: строка 137

Автор: IUnknown 20.02.2012 18:06

Постоянного роста потребления памяти не наблюдаю. Сначала - да, за первую секунду чуть увеличивается, на несколько К, но потом сколько я не держал F9 - не увеличивается совершенно. Компилировал D2009 (из-за чего пришлось чуть подкорректировать код, поменять кое-где PChar на PAnsiChar), на Win7 Ultimate.

Автор: TarasBer 20.02.2012 18:12

Странно вообще.
С компилятором это связано быть не может.
Значит, опять винда голову морочит.

Автор: TarasBer 24.02.2012 19:21

Внезапно заметил в этой же колонке (выделенная память), что у Дельфи-7 занято 770 мегабайт оперативы.
Что-то я перестал понимать, что там вообще.