Sto creando un componente per scaricare da internet una lista di files in simultanua. Per fare questo mi avvalgo di una serie di Threads (8 per la precisione). All'intereno della procedura Exceute dei Threads ho scritto del codice per permettere il download dei file.
La parte del codice incaricata del download è stata ripresa da un piccolo componente liberamente scaricabile da qui (si chiama TMHttpGetResume), in sostanza si fa uso di WinINET per scaricare i files.
Ora il problema è che in TMHttpGetResume il download non avviene in maniera asincrona e quindi quando faccio partire i miei Threads la mia applicazione si congela fin tanto che il download non è terminato.
Ho fatto qualche ricerca ma non riesco a capire come usare WinINET in maniera asincrona per scaricare files attraverso il protocollo HTTP. Esiste infatti la costante INTERNET_FLAG_ASYNC ma questa pare funzionare solo per il protocollo FTP.
Qualcuno mi può aiutare, sono disposto a cambiare anche tutta la parte relativa al download se necessario l'importante è che non mi facciate usare componenti quali INDY o simili, ovvero appartenti ad una suite (devo creare un componente autonomo).
GRAZIE.