Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.016 c
4-37454
rhf
2002-11-24 19:14
2003.01.13
Popup меню из ресурса


4-37440
Maksss
2002-11-24 17:54
2003.01.13
form2


14-37386
Sergy
2002-12-25 11:14
2003.01.13
Kylix + MySql + Windows


3-36920
asusfi
2002-12-17 13:37
2003.01.13
Lookup поле


14-37387
maxim2
2002-12-25 13:15
2003.01.13
Кому нужен компонент для записи CD




   Наверх