Wenn du aus einem Stream liest in den du gerade geschrieben hast, muss du den Streamzeiger wieder zurücksetzen:
Delphi-Quellcode:
Stream := getBinaryData(file_one);
Stream.SaveToFile('C:\EDMSWAP\Data.hdf');
Stream.Position := 0; // <==
Header.LoadFromStream(Stream);
PS: ich hör schon aus der Ferne, wie deine Hand auf die Stirn klatscht
Das mit der Position hatte ich auch schon versucht, das Ergebnis war leider trotzdem das gleiche.
Mit Hilfe von DeddyH seiner Idee habe ich mein Problem nun lösen können.
Delphi-Quellcode:
DataStream := TMemoryStream.Create;
Header.SaveToStream(DataStream);
Stream := getBinaryData(file_one);
Stream.SaveToStream(DataStream);
DataStream.SaveToFile('C:\EDMSWAP\FullStream.hdf');
Ich schreibe jetzt in meinen neuen DataStream zuerst die StringList und anschließend die Binärdaten. Wenn ich jetzt diesem Stream als Datei abspeichere habe ich meine gewünschte Datei.
Vielen Dank für die schnellen Antworten