Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизКак очистить TImage от картинки что была уже туда загружена? Найти похожие ветки
← →
Чайник © (2010-03-15 16:33) [0]В гугле нашел рекомендации:
Image1.Picture := nil;
Вроде работает, но остались сомнения - а куда девается при этом память, что была выделена под Picture?
← →
Anatoly Podgoretsky © (2010-03-15 16:44) [1]> Чайник (15.03.2010 16:33:00) [0]
Она освобождается, Picture это контролируемое свойство.
← →
Юрий Зотов © (2010-03-15 18:09) [2]> Чайник © (15.03.10 16:33)
Посмотрите код метода TImage.SetPicture
← →
NBAH1990 (2010-03-15 19:57) [3]Timage.Picture.Bitmap.Free;
помоему так?
← →
NBAH1990 (2010-03-15 20:07) [4]А память очищается автоматически при загрузке новой картинке в Picture, а как я написал как раз очищает в любой момент.
← →
Чайник © (2010-03-15 20:32) [5]
> NBAH1990 (15.03.10 19:57) [3]
> Timage.Picture.Bitmap.Free;
Насколько я понимаю, картинка в имейже не обязательно хранится в битмапе...
> Юрий Зотов © (15.03.10 18:09) [2]
> > Чайник © (15.03.10 16:33) Посмотрите код метода TImage.
> SetPictureПосмотрел:
procedure TImage.SetPicture(Value: TPicture);
begin
FPicture.Assign(Value);
end;
Т.е. FPicture.Assign(nil) освобождает занятую картинкой память ?
← →
Юрий Зотов © (2010-03-15 22:29) [6]
> Чайник © (15.03.10 20:32) [5]
Смотря как реализован метод TPicture.Assign. Смотрите теперь его.
Короче - просмотрите всю цепочку вызовов и где-то Вы увидите, что память освобождается.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.06 c