Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Array of tbitmap (https://www.delphipraxis.net/132568-array-tbitmap.html)

R2009 15. Apr 2009 08:50


Array of tbitmap
 
Hallo,

Ich möchte ein array of tbitmap als record abspeichern und wieder laden.
Das funktioniert jedoch nicht. Ich fürchte ich hab irgendetwas durcheinander gebracht.
Kann mir jemand helfen?
Fehlermeldung gibt's keine alles läuft problemlos, nur ist das Bitmap, nach dem laden, leer.

Delphi-Quellcode:
  Tbitmap_rec=record
     bm:array[1..186] of tbitmap;
  end;

.....

procedure Tmain.Button1Click(Sender: TObject);
var n:integer;f:file of tbitmap;
begin
  for n:= 1 to 186 do
    begin
      bmr.bm[n]:=tbitmap.create;
      bmr.bm[n].Width:=22;
      bmr.bm[n].Height:=22;
      bmr.bm[n].LoadFromFile('D:\test.bmp');
    end;
  assignfile(f,'c:\test.bmr');
  rewrite(f);
     write(f,bmr);
  closefile(f);
  image1.Picture.Bitmap.Assign(bmr.bm[1]);
end;

procedure Tmain.Button2Click(Sender: TObject);
var n:integer;f:file of tbitmap;
begin
  for n:= 1 to 186 do
    begin
      bmr.bm[n]:=tbitmap.create;
      bmr.bm[n].Width:=22;
      bmr.bm[n].Height:=22;
    end;
  assignfile(f,'c:\test.bmr');
  reset(f);
     read(f,bmr);
  closefile(f);
  image1.Picture.Bitmap.Assign(bmr.bm[1]);
end;
Grüsse und vielen Dank!

Klaus01 15. Apr 2009 09:56

Re: Array of tbitmap
 
Guten Morgen,

in Deinem Array befinden sich nur die Zeiger/Adressen zum Bitmap.
Du speicherst also "nur" die Adressen, diese sind aber wenn Du sie
aus einer Datei liest wertlos. Es kann ja sein das dieser Speicher
schon für etwas anderes benutzt wird - dann kracht es.

Vielleicht versuchst Du mal die Inhalte der Bitmaps
in ein TFileStream zu speichern.

Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz