Главная страница
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.026 c
7-1076865094
Delphin
2004-02-15 20:11
2004.04.25
Как програмно завершить процесс ?


3-1080380533
Dimbas
2004-03-27 12:42
2004.04.25
Как в DbGrid пронумеровать все строки?


14-1080555947
Ega23
2004-03-29 14:25
2004.04.25
У кого опыт driver development есть, помогите!


9-1066850438
G A M E R
2003-10-22 23:20
2004.04.25
BumpMapping


14-1080991331
VID
2004-04-03 15:22
2004.04.25
Имея 1 гиг ОЗУ как лучше всего поступить со свопом винды ?