ok er komplimiert zwar, aber es kommt zum absturz (externe eception 8000...)
Delphi-Quellcode:
procedure TForm1.Trennen;
var
lStream: TStream;
lStartPos: Int64;
lDataSize: Cardinal;
TextStream, JPEGStream: TMemoryStream;
bildchen: tjpegimage;
begin
lStream := TFileStream.Create('./meinStream.ampstr', fmOpenRead);
try
// Länge lesen
lStream.Read(lDataSize, sizeOf(lDataSize));
TextStream := TMemoryStream.Create;
TextStream.Size := lDataSize;
// Text auslesen
lStream.copyfrom(TextStream.Memory, lDataSize);
memo2.Lines.LoadFromStream(TextStream);
TextStream.Free;
// Bild laden
lStream.Position := sizeof(lDataSize) + lDataSize; // Diese Zeile sollte weggelassen werden können, da der Stream ja schon die richtige Position hat.
// Länge lesen
lStream.Read(lDataSize, sizeOf(lDataSize));
JPEGStream := TMemoryStream.Create;
JPEGStream.Size := lDataSize;
// Text auslesen
lStream.copyfrom(JPEGStream.Memory, lDataSize);
bildchen:= tjpegimage.Create;
bildchen.LoadFromStream(JPEGStream);
bildchen.SaveToFile('./bildnew.jpg');
JPEGStream.Free;
bildchen.Free;
finally
lStream.Free;
end;
end;
Was is Falsch?