![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
утечка памяти, помогите, пожалуйста [D6]
u96 © (2003-01-03 16:02:00)Помогите, уже почти сдался в поиске решения этой проблемы...
в StringGrid рисую картинки. Во время прорисовки и скроллинга стринггрида "съедается" определенное количество памяти (смотрю диспетчером задач в WinXP).
Прорисовка идет в onDrawCell так:
StringGrid1.Canvas.Draw(Rect.Left, Rect.Top, (StringGrid1.Objects[Acol, ARow] as TPhotoListItem).Image.Picture.Graphic);
Начинаю грузить новые картники на место старых и память, занятая предыдущими картинками НЕ ОСВОБОЖДАЕТСЯ. Объекты из StringGrid1.Objects убиваю. Судя по всему эта память отводится под Canvas стринггрида.
И вот вопрос, который меня мучает сегодня целый день - как эту память очистить перед отображением новых картинок?
Какие будут варианты?
Юрий Зотов (2003-01-03 20:14:00) [1]> Судя по всему эта память отводится под Canvas стринггрида.
Судя по всему, эта память у Вас отводится под TPhotoListItem"ы. И уж совершенно точно, что не под Canvas.
> Почему то при вызове метода Free не вызывался деструктор
> объекта.
Более чем сомнительно. Гораздо вероятнее все же ошибка в коде.
u96 (2003-01-03 17:29:00) [2]извиняюсь за ложную тревогу, проблему решил. Все-таки не убивались объекты из StringGrid.objects. Почему то при вызове метода Free не вызывался деструктор объекта. Пришлось явно вызвать деструктор моих объектов