Есть код , обычный, копирует в цикле файлы на флешку. Флешек ~80 штук. Когда запустили "погорели" некоторые. "Заглючили" по-разному все. Некоторые безвозвратно потеряны.
Код - обычый цикл, с CopyFile без паузы:
for TFilesArrayItem in TFilesArray do begin
...
if not (CopyFile(PWideChar(fromDisk + '\' + TFilesArrayItem.Value.FPlayList), PWideChar(dirName + TFilesArrayItem.key), false)) then begin
...
end;
вставил паузу sleep(700) и вроде перестали портиться. (сам не имею доступа к флешкам)
Вопрос. может ли очень при быстром копировании флешка выходить из строя? Почему помогает пауза? Я думал может на ней есть некий контроллер, который "захлебывается" и не справляется с высокой скоростью копирования. Так ли это? Причем ТоталКомандер копирует тоже быстро и ничего вроде.