Entwickler-Ecke
Internet / Netzwerk - Multidownload (Threads)
Novo - So 07.10.07 14:16
Titel: Multidownload (Threads)
Ich habe ein Projekt hier:
http://www.delphi-forum.de/viewtopic.php?p=465623
Sourcecode zum Nachvollziehen gibts im Link oben!
Dazu habe ich ein paar fragen:
Wie kann ich:
- mit der Indy 10 komponente
2 Links gleichzeitig downloaden?
Dazu müsste ich es in Threads auslagern und die weinzeln aufrufen.
ich weiss aber nicht wie, und SuFu hab ich benutzt, aber das war mir zu kompliziert erklärt dort
greez novo
Narses - Mo 08.10.07 01:04
Moin!
Hab den Link korrigiert.
cu
Narses
alzaimar - Mo 08.10.07 07:18
In dr Delphi-Praxis habe ich einen Threadpool vorgestellt, der die Arbeit mit Threads stark vereinfacht. Du musst nur noch den Job definieren, der im Hintergrund ausgeführt werden soll.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:
| Type TDownLoadJob = Class (TWorkerThreadJob) Private ... fDownloadURL : String; Protected Procedure Execute(aThread: TWorkerThread); Public Constructor Create (aDownloadURL : String); Destructor Destroy; Override; End;
Constructor TDownloadJob.Create (aDownloadURL : String); Begin fDownloadURL := aDownloadURL; Synchronized := False; UsesCOMObjects := False; End; Destructor TDownloadJob.Destroy; Begin End;
Procedure TDownloadJob.Execute (Thread : TWorkerThread); Begin fIndieComponent.Download (fDownLoadURL); End; ... PendingJobs.Add (TDownloadJob.Create('www.delphi-forum.de/SampleDownload.zip')); PendingJobs.Add (TDownloadJob.Create('www.another-source.com/moredownloads.zip')); |
Hier mal der Link:
http://www.delphipraxis.net/post735273.html#735273
Novo - Mo 08.10.07 20:43
alzaimar hat folgendes geschrieben: |
In dr Delphi-Praxis habe ich einen Threadpool vorgestellt, der die Arbeit mit Threads stark vereinfacht. Du musst nur noch den Job definieren, der im Hintergrund ausgeführt werden soll.
Delphi-Quelltext 1: 2:
| PendingJobs.Add (TDownloadJob.Create('www.delphi-forum.de/SampleDownload.zip')); PendingJobs.Add (TDownloadJob.Create('www.another-source.com/moredownloads.zip')); |
|
d.h. dass ich statt
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| URL := Form1.LinkList.Items.Item[0].Caption; Dateiname := GetFileName(URL); LinkList.Items.Item[0].SubItems.Strings[1] := 'Läuft'; Application.ProcessMessages;
lStream:=TFileStream.Create(Downloadpfad+Dateiname, fmCreate or fmShareDenyWrite); try idhttp1.Get(URL,lStream); finally lStream.Free; end; |
das mit PendingJobs aufrufe?
aber ich brauche doch das
lStream:=TFileStream.Create(Downloadpfad+Dateiname...
wie jetzt?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!