Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 

Re: Kopieren von Ordner und Dateien mit Rückmeldung

  Alt 26. Jul 2005, 10:18
Der stream-read-error resultiert aus einem unterschiedlichen Verhalten der Methoden CopyFrom() und Read(). Während Read() kein Problem damit hat, dass mehr Bytes angefordert werden als noch vorhanden sind, wirft CopyFrom() eine Exception, wenn man nicht byte-genau liest.

Diese Änderung sollte das Problem beheben:

Delphi-Quellcode:
...
FileProgressBar.Position := 0; // fehlte in meinem ersten Beitrag
remainingBytes := fsSource.Size;
repeat
  bytes := fsTarget.CopyFrom(fsSource, Min(chunkSize, remainingBytes));
  Dec(remainingBytes, bytes);
  FileProgressBar.Position := FileProgressBar.Position + bytes;
  Application.ProcessMessages;
until remainingBytes = 0;
...
marabu
  Mit Zitat antworten Zitat