Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > как сделат Destroy Bitmap ?


Автор: Mersik 21.1.2007, 19:35
как сделат Destroy Bitmap ? smile 

Код

procedure load_image(fname:string);
var i,j,y:integer;
Bitmap1: TBitmap;
begin
     
      Bitmap1:= TBitmap.Create;
      Bitmap1.PixelFormat:=pf24bit;
      Bitmap1.LoadFromFile(Fname);
     // Form1.Image1.Picture.Graphic:= Bitmap1;
      Form1.image1.width:=bitmap1.width;
      Form1.image1.height:=bitmap1.height;
      y:= 0;
      for i := 0 to 15 do
        for j:= 0 to 15 do
          begin
          inc(y);
          Input_neiro_value[y]:=getRvalue(Form1.image1.canvas.pixels[i,j]);
          if Input_neiro_value[y]=255 then Input_neiro_value[y]:=0 else Input_neiro_value[y]:=1;
          end;

        Tbitmap.Destroy;   ?????????????????????????????????????????
end;

Автор: Rodman 21.1.2007, 19:52
в идеале должно быть так.. мне кажется
Код

procedure load_image(fname:string);
var i,j,y:integer;
      Bitmap1: TBitmap;
begin
      Bitmap1:= TBitmap.Create;
      try
        Bitmap1.PixelFormat:=pf24bit;
        Bitmap1.LoadFromFile(Fname);
        Form1.image1.width:=bitmap1.width;
        Form1.image1.height:=bitmap1.height;
        y:= 0;
        for i := 0 to 15 do
          for j:= 0 to 15 do
          begin
            inc(y);
            Input_neiro_value[y]:=getRvalue(Form1.image1.canvas.pixels[i,j]);
            if Input_neiro_value[y]=255 then 
                    Input_neiro_value[y]:=0 
            else 
                    Input_neiro_value[y]:=1;
          end;
       finally 
         Bitmap1.Free;
       end;
end;

Автор: Sunvas 21.1.2007, 19:52
Цитата(Mersik @  21.1.2007,  19:35 Найти цитируемый пост)
как сделат Destroy Bitmap ? 

А что мешает? Выбирай любое (но не два одновременно!):
Код

bitmap.destroy;
bitmap.free;

Автор: mrbrooks 21.1.2007, 19:52
Я бы сделал так

Код


Bitmap1.Free;


Автор: Alexeis 21.1.2007, 19:58
Цитата(Sunvas @  21.1.2007,  19:52 Найти цитируемый пост)
А что мешает?
Код

bitmap.destroy;
bitmap.free;



Должно вызвать ошибку, потому что после вызова bitmap.destroy; - память объекта уже освобождена, а free - это не деструктор а обычный метод. Вызов метода несуществующего объекта всегда ошибка.

Автор: Sunvas 21.1.2007, 20:00
Alexeis, это у мня на выбор - объеденяется условием "или". Просто забыл дописать. Ща исправлю.

Автор: Rodman 21.1.2007, 20:02
smile


Mersik, просто надо делать уничтожение не класса, а его экземпляра, т.е. Bitmap1'а...

Автор: Mersik 21.1.2007, 20:16
СПАСИБО !!! КАК я Уже ГОВОРИЛ ВИ лучшие !!!!!!!! smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)