Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

утечка памяти, помогите, пожалуйста [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 не вызывался деструктор объекта. Пришлось явно вызвать деструктор моих объектов


Наверх

Титульная страница Поиск, карта сайта Написать письмо