Jupp, es sollte mit Threads funktionieren und am Besten, wie Mr.Thornberry schon sagte, die Kompunenten erst im Thread erzeugen.
Na ja, als erstes sollte man sich wohl nur mal den Dateiheader runterladen, damit man die Gesamstgröße der Datei erhält.
Delphi-Quellcode:
i := Dateigröße div 8;
IdHttp1.Request.ContentRangeStart := 0;
IdHttp1.Request.ContentRangeEnd := i - 1;
IdHttp2.Request.ContentRangeStart := i;
IdHttp2.Request.ContentRangeEnd := i * 2 - 1;
IdHttp3.Request.ContentRangeStart := i * 2;
IdHttp3.Request.ContentRangeEnd := i * 3 - 1;
IdHttp4.Request.ContentRangeStart := i * 3;
IdHttp4.Request.ContentRangeEnd := i * 4 - 1;
IdHttp5.Request.ContentRangeStart := i * 4;
IdHttp5.Request.ContentRangeEnd := i * 5 - 1;
IdHttp6.Request.ContentRangeStart := i * 5;
IdHttp6.Request.ContentRangeEnd := i * 6 - 1;
IdHttp7.Request.ContentRangeStart := i * 6;
IdHttp7.Request.ContentRangeEnd := i * 7 - 1;
IdHttp8.Request.ContentRangeStart := i * 7;
IdHttp8.Request.ContentRangeEnd := Dateigröße;