Ich habe den Code jetzt nur überflogen, aber das hier sieht für mich ziemlich blockierend aus:
Delphi-Quellcode:
repeat
currentBytes := inet.ReadData(@buff, BUFFER_SIZE);
buff[currentBytes] := 0;
BlockWrite(f, buff, currentBytes);
until currentBytes = 0;