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

Вниз

Как стереть Image.Picture.Graphic?   Найти похожие ветки 

 
Kraks   (2003-11-19 08:33) [0]

Мне необходимо очистить картинку TImage. Здесь в форуме нашёл темы про очистку Canvas, но у меня в имадже могуть лежать bmp, jpg, поэтому к Canvas-у TBitmap я добраться не могу. Ну, точнее, могу. Надо проверять, что за картинка и в зависимости от этого очищать Canvas либо Bitmap-а, либо TJpegImage. А нельзя ли очистить Image.Picture.Graphic? В других форумах говорили, что писать Image.Picture.Graphic := nil некорректно (только не пояснили, почему - не просвятите? :) ). Советовали изменять ширину и высоту Graphic до 0 и обратно, но как-то это всё...


 
MBo ©   (2003-11-19 08:40) [1]

Image.Picture.Graphic := nil  - корректно.


 
Kraks   (2003-11-19 22:35) [2]

А мне в форуме SQL.ru - Delphi сказали, что будет утечка памяти, хотя у себя в примере пробовал - вроде работает...


 
Mihey ©   (2003-11-20 01:06) [3]

Да уж, хорошо бы Image.Picture.Graphic.Free или с проверкой, чтобы наверняка If Assigned(Image.Picture.Graphic) then
Image.Picture.Graphic.Free, а потом уже MBo [1].


 
default ©   (2003-11-20 01:11) [4]

а может посмотреть, что в методе который пишет в это свойство?
MBo не просто так же пишет


 
Kraks   (2003-11-20 08:09) [5]

Ага. Я уже выяснил. )) Именно так:

if Assigned(Image.Picture.Graphic) then
begin
 Image.Picture.Graphic.Free;
 Image.Picture.Graphic := nil;
end;


 
MBo ©   (2003-11-20 08:33) [6]

Протрассировав
Image.Picture.Graphic := nil  
или просто заглянув в исходники, видим
FGraphic.Free;
и соответственно бессмысленность "Именно так:..."

BTW, того же результата добьемся, просто сделав
Image.Picture := nil;


 
Vlad1 ©   (2003-11-20 22:07) [7]

Разумное слово только от MBo: Image.Picture := nil;. У меня в целом ряде программ есть кнопка "Очистить картинку" и код именно такой: Image.Picture := nil;. Не думал, что для кого-то это проблемма.


 
Kraks   (2003-11-21 08:04) [8]

А ведь и правда. Free, nil не работает! Буду делать так же. )) Спасибо.


 
Галина   (2004-01-22 08:44) [9]

Спасибо большое за нежданную помощь...



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

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

Наверх




Память: 0.48 MB
Время: 0.032 c
1-1081253872
infom
2004-04-06 16:17
2004.04.25
Поиск


7-1077399444
BBCHa
2004-02-22 00:37
2004.04.25
Завершение чужой проги


9-1067508215
Mat
2003-10-30 13:03
2004.04.25
События onMouseMove (Down, Up) у спрайтов (DelphiX)


6-1077907167
ALeX.B.
2004-02-27 21:39
2004.04.25
Помогите! Нужен рабочий FTPServer!


4-1076838918
Viktor Kushnir
2004-02-15 12:55
2004.04.25
Как загрузить через CreateProcess ярлык (*.lnk)