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

Вниз

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

 
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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.023 c
3-1100620186
Богдан
2004-11-16 18:49
2004.12.12
Поля TDBGrid


6-1096680587
Аноним
2004-10-02 05:29
2004.12.12
Как узнать мак-адрес сетевой карты?


6-1096757015
Klopan
2004-10-03 02:43
2004.12.12
Потоки


14-1099947252
Piter
2004-11-08 23:54
2004.12.12
Что за shellhook.dll?


3-1100460680
Shaman_Naydak
2004-11-14 22:31
2004.12.12
Ошибка в IBX