Hallo zusammen,
ich habe folgendes Problem mit der IndyHTTPGetThreaded Demo von Luckie:
www.michael-puff.de/...yHTTPGetThreaded.zip
Der Downloadthread soll eine Prozedur aufrufen (
updatedata) welche natürlich erst dann ausgeführt werden soll wenn der Download komplett fertig ist. Jetzt habe ich jedoch das Problem das teilweise ein oder mehrere Redirects erfolgen und der Downloadthread meiner Meinung nach jedes mal das
FWorkEndevent auslöst.
Ist die Analyse soweit korrekt? Falls ja, wie kann ich das beheben?
Ich habe mir folgendes gebastelt, aber es scheint nicht komplett zu funktionieren. Teilweise lädt er dann komplett herunter aber führt
ShowEnd nicht aus.
Delphi-Quelltext
1:
| idHTTP.OnRedirect:=erkenneredirect; |
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| procedure TDownloadThread.erkenneredirect(Sender: TObject; var dest: string; var NumRedirect: Integer; var Handled: Boolean; var VMethod: string); begin Handled := True; redirectnr:=redirectnr+1; end; |
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure TDownloadThread.FWorkEndevent(ASender: TObject; AWorkMode: TWorkMode); begin if redirectnr <= 0 then Synchronize(ShowEnd) else redirectnr:=redirectnr-1; end; |
Delphi-Quelltext
1: 2: 3: 4:
| procedure TDownloadThread.ShowEnd; begin form1.updatedata; end; |
Danke!
LG,
Christian
Edit: Lösung ist hier zu finden:
www.delphipraxis.net...irect-behandeln.html