Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.13;
Скачать: CL | DM;

Вниз

утечка памяти, помогите, пожалуйста   Найти похожие ветки 

 
u96   (2003-01-03 16:02) [0]

Помогите, уже почти сдался в поиске решения этой проблемы...
в StringGrid рисую картинки. Во время прорисовки и скроллинга стринггрида "съедается" определенное количество памяти (смотрю диспетчером задач в WinXP).
Прорисовка идет в onDrawCell так:
StringGrid1.Canvas.Draw(Rect.Left, Rect.Top, (StringGrid1.Objects[Acol, ARow] as TPhotoListItem).Image.Picture.Graphic);

Начинаю грузить новые картники на место старых и память, занятая предыдущими картинками НЕ ОСВОБОЖДАЕТСЯ. Объекты из StringGrid1.Objects убиваю. Судя по всему эта память отводится под Canvas стринггрида.
И вот вопрос, который меня мучает сегодня целый день - как эту память очистить перед отображением новых картинок?
Какие будут варианты?


 
u96   (2003-01-03 17:29) [1]

извиняюсь за ложную тревогу, проблему решил. Все-таки не убивались объекты из StringGrid.objects. Почему то при вызове метода Free не вызывался деструктор объекта. Пришлось явно вызвать деструктор моих объектов


 
Юрий Зотов ©   (2003-01-03 20:14) [2]

> Судя по всему эта память отводится под Canvas стринггрида.

Судя по всему, эта память у Вас отводится под TPhotoListItem"ы. И уж совершенно точно, что не под Canvas.


> Почему то при вызове метода Free не вызывался деструктор
> объекта.

Более чем сомнительно. Гораздо вероятнее все же ошибка в коде.




Страницы: 1 вся ветка

Текущий архив: 2003.01.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
3-36919
Вованчик
2002-12-17 15:49
2003.01.13
Ошибочка


14-37286
Song
2002-12-25 11:08
2003.01.13
Хотите посмеяться? Отдел


1-37044
Joisy
2003-01-02 08:35
2003.01.13
Иконка 16x16


6-37251
OlegL
2002-11-14 11:15
2003.01.13
Как избежать ошибки


7-37401
Keplin Sergey
2002-11-01 20:10
2003.01.13
Читать CD-ROM напрямую...