Zitat von
MrPayne:
Delphi-Quellcode:
datstream := TMemoryStream.Create;
gfxstream := TMemoryStream.Create;
Stream := TFileStream.Create(apppath + 'test2.ekq', fmOpenRead);
Stream.Position := 0;
Stream.Read(Len, SizeOf(Len));
datstream.CopyFrom(Stream, Len);
gfxstream.CopyFrom(Stream, Stream.Size); // <--- !!!
datstream.Position := 0;
gfxstream.Position := 0;
mapImage.Bitmap.LoadFromStream(gfxstream);
list := TStringList.Create;
list.LoadFromStream(datstream);
Stream.Free;
datstream.Free;
gfxstream.Free;
Wenn du mit Len schon aus Stream den DatStream rauskopierst, dann wird Stream.Size wohl etwas gross sein für gfxStream, oder? schliesslich wurden schon Len-Anzahl von Bytes ausgelesen und gehören definitiv nicht zum Bild.