Muy bueno dec, lo dejaste perfecto.
Por cierto, para archivos grandes puede que sea mejor utilizar un buffer mayor. Por ejemplo:
Código Delphi
[-]
GetMem(Buffer,1*1024*1024);
O incluso puedes dejar el tamaño del buffer como una propiedad mas del componente.