Einzelnen Beitrag anzeigen

Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#1

record mit einem Bitmap in Datei speichern

  Alt 12. Okt 2007, 00:07
hi zusammen,

habe ein Record das wie folgt aufgebaut ist.
Delphi-Quellcode:
  TDevice = record
    fID : integer;
    fScannDate : TDateTime;
    fData : record
      fBitmap : TBitmap; //Bitamp zum zeichnen
    end;
  end;
  pDevice = ^TDevice;
Das speichern
Delphi-Quellcode:
var
  i : integer;
  device : pDevice;
  file_device_info : File of TDevice;
begin
  AssignFile(file_device_info,'test.dat');
  Rewrite(file_device_info);
  for i:=0 to DeviceManager.list.Count-1 do begin
    device_info := pDevice(DeviceManager.list.Objects[i]);
    Write(file_device_info,device_info^);
  end;
  CloseFile(file_device_info);
das laden
Delphi-Quellcode:
var
  device_info : pDevice;
  file_device_info : File of TDevice;
begin
  AssignFile(file_device_info,'test.dat');
  Reset(file_device_info);
  Seek(file_device_info,0);
  while not eof(file_device_info) do
  begin
    device_info := DeviceManager.CreateNewDevice;
    device_info.fData.fBitmap := TBitmap.Create;
    Read(file_device_info,device_info^);
  end;
  CloseFile(file_device_info);
end;
nur leider funktioniert das nicht wenn ich nach dem laden auf das Bitmap zugreifen möchte.
Mir ist klar das ein Bitmap nur der Zeiger ist. Aber ich dachte wenn ich es mit write in eine datei schreibe das nicht der zeiger sondern die daten gespeichert werden.

Wie kann ich das lösen das das Bild in die Datei gespeichert wird? Mit einem Stream?
  Mit Zitat antworten Zitat