Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];

Вниз

Простейший вывод картинки   Найти похожие ветки 

 
VasRog   (2004-09-18 12:53) [0]

Не получается почему-то. Вот листинг:
procedure TForm1.FormActivate(Sender: TObject);
var
EHMap: TBitmap;
begin
with form1.Image1.Canvas do
begin
 Pen.Color:=colorbox1.Selected;
 Pen.Style:= psDashDot;
 EHMap:= TBitmap.Create;
 try
  EHMap.LoadFromFile("EarthMapm.bmp")
 except
  EHMap.free;
 end;  // try
end;  // with
end;
Заместо картинки остается белое пятно.Сначала думал, что исключение срабатывает, но ничего не произойдет, если убрать try except.
Помогите найти ошибку, please.


 
Kind   (2004-09-18 14:27) [1]

А где код который отображает саму картинку?
Ты её только загрузил и всё. Canvas.Draw используй


 
Рыба ©   (2004-09-18 17:43) [2]

>VasRog  (18.09.04 12:53)

try
 EHMap.LoadFromFile("EarthMapm.bmp")
except
 EHMap.free;
end;  // try

В этом случае выделенная под картинку память освободится только в случае исключения. Т.е. на лицо прямая утечка памяти. Вместо этого надо писать finally, чтобы память в любом случае освободилась. Твой пример можно переписать так:

procedure TForm1.FormActivate(Sender: TObject);
var EHMap: TBitmap;
begin
 with Image1.Canvas do
 begin
   Pen.Color:= colorbox1.Selected;
   Pen.Style:= psDashDot;
 end;
 EHMap:= TBitmap.Create;
 try
   try
     EHMap.LoadFromFile("EarthMapm.bmp");
     Image1.Canvas.Draw(0, 0, EHMap);
   except
     ShowMessage("Произошла ошибка. Возможно файл не найден.");
   end;  // try-expect
 finally
   EHMap.free;
 end;  // try-finally
end;


 
VasRog   (2004-09-18 18:23) [3]

Огромное спасибо.



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

Форум: "Media";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.052 c
14-1100857607
dr Tr0jan
2004-11-19 12:46
2004.12.12
Билли получает 4 миллиона писем спама ежедневно.


1-1101692605
che
2004-11-29 04:43
2004.12.12
Создание нескольких текстовых файлов


14-1101232184
Yanis
2004-11-23 20:49
2004.12.12
ОдЁжа


6-1096729488
Луарвик
2004-10-02 19:04
2004.12.12
Правильный запрос (а не вопрос :))


1-1101672773
Донской
2004-11-28 23:12
2004.12.12
Код raise.exception.create не генерит ошибки!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский