Lass doch den Cache seine Arbeit machen.
Wenn die Datei geschrieben wurde, dann kann man ja
FlushFileBuffers aufrufen:
Delphi-Quellcode:
stream := TFileStream.Create(....
try
// hier 100MB schreiben
FlushFileBuffers(stream.Handle);
// jetzt ist die Datei sicher auf dem Datenträger
finally
stream.Free;
end;
Bei einem USB-Stick kann es sein, dass dein Programm sekundenlang in FlushFileBuffers festhängt, weil es die Daten auf das physische Medium schreibt.