Solución:
Debe leer () del FileStream en un búfer separado y luego escribir () en el MemoryStream, es decir:
var
Buffer: PByte;
GetMem(Buffer, NumberOfBytes);
try
FileStream.ReadBuffer(Buffer^, NumberOfBytes);
MemoryStream.WriteBuffer(Buffer^, NumberOfBytes);
finally
FreeMem(Buffer);
end;
Dado que está tratando con dos objetos TStream, sería más fácil usar el método TStream.CopyFrom () en su lugar, es decir:
MemoryStream.CopyFrom(FileStream, NumberOfBytes);
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)