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?