![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Освобождение ресурсов... [D5, Win95/98, Win2k]
TankMan © (2002-12-01 22:32:00)У меня проблема... я пишу одну программку, она сейчас достаточно объемная уже (лично для меня она объемная), и проблема у нее соответственная... утечка ресуров...точнее не полное освобождение ресуров при закрытии.... вот раз 20-30 позапускаешь программку и у системы, начинают появляться сообщения - "Нехватка памяти" или еще что-то подобное.... вот вобщем вопрос в чем... как можно это проконтролировать или может путь отлова утечки памяти у когонибудь уже имеется... могу поспорить, что сдесь есть люди, которых эта проблема тревожит или тревожила при написании больших проэктов... мастера, поделитесь опытом в этой области...
TankMan (2002-12-04 01:46:00) [1]Дауж...
Evgeny (2002-12-03 06:06:00) [2]MemCheck конечно неплохая штука, но она к сожалению не все ошибки программиста вылавливает. Скорее всего у тебя не корректное освобождение запрошенных ранее хэндлов. К примеру делаешь такое:
DC := CreateCompatibleDC(mainDC);
SelectObject(DC, BMP);
...
DeleteObject(BMP);
DeleteDC(DC);
вроде все сделано правильно, а происходит утечка. Нужно так:
DC := CreateCompatibleDC(mainDC);
OldBMP := SelectObject(DC, BMP);
...
SelectObject(DC, OldBMP);
DeleteObject(BMP);
DeleteDC(DC);
ну или что то в том же роде.
TankMan (2002-12-03 01:06:00) [3]Вышли пожалуйста...
BSD (2002-12-02 12:20:00) [4]Воспользуйся модулем MemCheck. Классная штука, мне сильно помогла. Могу выслать.