Ich beschäftige mich gerade mit dem abspeichern von Daten
die Daten sind in einer StringList als Opjekte gespeichert
Delphi-Quellcode:
OHeader = class(TObject)
public
HDR_TYP : String[20];
No : String;
Datum : tDateTime;
Path : String;
Edi : String;
PDF : String;
Status : String;
Nachricht_Typ : String;
Nachricht_Name : String;
Bezugsnr : String;
Benutzer_ID : String;
RegistrierNr : TStringList;
RegistrierNr1 : String;
EdifactNr : String;
INH_NR : String;
end;
der Versuch die Daten zu speichern und anschließend wieder zu laden sah recht vielversprechend aus
Delphi-Quellcode:
// Daten speichern
if not FileExists(Filename) then TmpStream := TFileStream.Create('C:\test.dat', fmCreate)
else TmpStream := TFileStream.Create(Filename, fmOpenReadWrite);
Len := SL_Header.Count;
TmpStream.Write(len, SizeOf(len)); // abspeichern wie viele Datensätze
for I := 0 to SL_Header.Count - 1 do
begin
Header := SL_Header.Objects[i] as oHeader;
TmpStream.Write(Header, SizeOf(oHeader));
end;
TmpStream.Free;
// gespeicherte Daten gleich wieder einlesen
TmpStream := TFileStream.Create('c:\test.dat', fmOpenRead);
tmpStream.Read(len, SizeOf(len));
sl_Header.Clear;
for I := 0 to len - 1 do Begin
Header := oHeader.Create;
header.Path := '';
tmpStream.Read(Header, SizeOf(oHeader));
sl_header.AddObject(Header.No,Header);
end;
tmpstream.free;
leider geht das beim Start des Programmes aber nicht mehr
Delphi-Quellcode:
TmpStream := TFileStream.Create('c:\test.dat', fmOpenRead);
tmpStream.Read(len, SizeOf(len));
for I := 0 to Len-1 do Begin
Header := oHeader.Create;
tmpStream.Read(Header, SizeOf(oHeader));
SL_Header.AddObject(Header.No,Header);
end;
tmpstream.free;
nun meine Frage kann das überhaupt funktionieren ?
schon mal betsen Dank für die Hilfe
gruß Matz