Hallo zusammen,
ich habe folgendes Problem mit der IndyHTTPGetThreaded Demo von Luckie:
http://www.michael-puff.de/Programmi...etThreaded.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.
idHTTP.OnRedirect:=erkenneredirect;
Delphi-Quellcode:
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-Quellcode:
procedure TDownloadThread.FWorkEndevent(ASender: TObject; AWorkMode: TWorkMode);
begin
if redirectnr <= 0 then Synchronize(ShowEnd)
else redirectnr:=redirectnr-1;
end;
Delphi-Quellcode:
procedure TDownloadThread.ShowEnd;
begin
form1.updatedata;
end;
PS: Ich habe das Thema am 26.04 im delphi-forum geposted, dort konnte mir jedoch keiner helfen. Sollten wir hier ein Ergebnis erzielen werde ich es dann dort auf diesen Topic verweisen.
Danke!
LG,
Christian