![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Освобождение памяти из-под объектов. [D5, Win2k]
Дельфятник © (2002-08-02 11:31:00)Я только недавно озаботился проблемой освобождения памяти из-под создаваемых в процессе работы программы экземпляров классов. Пока я не столкнулся с тем, что после каждого выполнение операции, многократно выполняемой во время работы программы, отъедается по 150 Мб памяти, я думал, что память из-под этих объектов освобождается при выходе из процедуры, в которой они были созданы. Теперь я мучаюсь тем, что ищу где в программе создаются объекты и освобождаю память из-под них. Но после всех усилий, выясняется, что часть памяти всё равно не освобождается. Поэтому у меня возник вопрос - нет ли какой-нибудь процедуры оосвобождения памяти, занятой наплождёнными в процессе работы программы экземплярами классов, подобно тому, как эта память освобождается при выходе из программы?
Дельфятник (2002-08-02 12:52:00) [1]Всем спасибо.
Виктор Щербаков (2002-08-02 11:50:00) [2]Для отладки, можно в конструкторе и деструкторе объектов писать информацию в LOG-файл. В некоторых случаях помогает.
Skier (2002-08-02 11:37:00) [3]>Дельфятник
> Теперь я мучаюсь тем, что ищу где в программе создаются
> объекты и освобождаю память из-под них.
Главное правило работы с объектами.
- Создаёшь объект
- Работаешь с ним
- Сносишь его из памяти (.Free) как только
он стал тебе не нужным.
При таком подходе у тебя не будет в памяти
лишнихобъектов и соответственно не
будет кушаться память...И ты не будешь за ними
"гоняться"...
MBo (2002-08-02 11:33:00) [4]Увы, нет. Это возложено на программиста. В последние дни была ссылка на программу MemProof, позволяющую кое-что отловить.