Главная страница
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.032 c
14-1101400232
Undert
2004-11-25 19:30
2004.12.12
Опять Pointer


14-1100871323
antonn
2004-11-19 16:35
2004.12.12
Корпуса...


1-1101746383
Df
2004-11-29 19:39
2004.12.12
if, then, else on RichEdit


14-1100883215
Torry
2004-11-19 19:53
2004.12.12
Интервью на "Королевстве Дельфи"


1-1101887251
Майя
2004-12-01 10:47
2004.12.12
Закрытие OLe объекта