Главная страница
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.019 c
1-37200
April
2002-12-30 14:55
2003.01.13
Как создать кнопку во время выполнения программы?


8-37221
Blacker77
2002-09-21 19:02
2003.01.13
Опять долбаный MP3!


4-37422
maxim2
2002-11-22 13:24
2003.01.13
Почему не работает PlaySound


1-37076
Gamar
2003-01-03 12:32
2003.01.13
Имя версии через директивы


1-37040
pumba
2003-01-02 08:14
2003.01.13
Олимпиадная задача 1