Moin Snapman,
damit meine ich, dass Du Dir z.B. von TThread eine Klasse für den Download ableitest, und dann in der Execute Methode den Download durchführst.
Dann bleibt der Hauptthread (die Anwendung) funktionsfähig, und friert nicht ein.
Mit der
API Funktion
UrlDownloadToFile könnten wir hier auch schon ein Beispiel dafür haben.
Für
TThread sollten auch mehrere da sein.