Hallo Kharlanki,
um einmal zur Ausgangsfragestellung zurück zu kommen,
buffersize := 10000;
ist ja nun wirklich ein wenig mickrig.
buffersize := $FFFF;
kommt da schon wesentlich besser.
das "copyfrom" erspart Dir zwar etwas Tipparbeit, ist aber nicht so optimal gelöst, da bei jedem Schleifendurchlauf die buffergröße angepasst resp. überprüft wird.
Nebenbei, warum führst Du das "closefile" nicht auch im Fehlerfalle durch?
Mein Vorschlag für die Kopierroutine:
Delphi-Quellcode:
repeat
gelesen:=s.read(buffer,buffersize) ;
gelesen:=t.write(buffer,gelesen) ;
// -- hier den progressbar ansteuern;
until gelesen<>buffersize;
Gruß
K-H