Saltar al contenido

Delphi: copiar FileStream a MemoryStream

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)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *