Autor Beitrag
codipodi
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Do 26.04.12 08:34 
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.

ausblenden Delphi-Quelltext
1:
idHTTP.OnRedirect:=erkenneredirect;					


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TDownloadThread.erkenneredirect(Sender: TObject; var dest: stringvar
    NumRedirect: Integer; var Handled: Boolean; var VMethod: string);
begin
   Handled := True;
  redirectnr:=redirectnr+1;
end;


ausblenden 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;


ausblenden 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