![]() |
OnWork wird nach Download ausgeführt?
Hallo,
ich habe die Indy-Komponente in einen Thread gesteckt und ein onWork-Event programmiert. Doch leider wird das onWork erst nach dem vollendeten Download ausgeführt. Hier mal mein Code..
Delphi-Quellcode:
Danke im Voraus!
[..]
private procedure WorkProgress(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer); [..] // TThread.Execute if (Download) then begin www:=TIdHttp.Create(nil); [url]www.OnWork:=WorkProgress;[/url] fs:=TFileStream.Create(DownloadDest+DownloadFile, fmCreate); try www.Get(DownloadPath+'/'+DownloadFile, fs); finally [url]www.Free;[/url] end; if Assigned(FParent.fOnFileComplete) then Synchronize(FParent.DoFileComplete); end; procedure TThread.WorkProgress(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer); begin //Diese Box erscheint mehrmals (und ist nur ein Test) MessageBox(0, 'sad', 'sadsad', 0); end; |
Re: OnWork wird nach Download ausgeführt?
Nutzt du einen Proxy-Server ?
Ich hab zwar bisher noch nicht mit TIdHttp im zusammenhang mit Threads gearbeitet, hatte das Phänomen aber schon, wenn ich die Proxyfunktion von TIdHttp verwendet habe. (weis jetzt aber nicht, ob der Fehler bei den Indys oder am Proxy liegt) |
Re: OnWork wird nach Download ausgeführt?
Nein, ich nutze keinen Proxy-Server. Das kommt mir aber sehr seltsam vor. Warum sollte es NACH den Download ausgeführt werden? Die Ausführung an sich ist korrekt. Die Methode wird auch öfter mit steigenden AWorkCount-Werten aufgefufen. Nur halt eben nach dem Download!
|
Re: OnWork wird nach Download ausgeführt?
Wenn sie mehrmals aufgerufen wird ist doch alles korrekt!
Wann sollte sie denn deiner Meinung nach aufgerufen werden ? |
Re: OnWork wird nach Download ausgeführt?
WÄHREND dem Download sollte die Methode aufgerufen werden. Sie gibt nämlich die bereits geladenen Bytes wieder.
Bei mir wird sie NACH dem Download aufgerufen, also wenn die Datei schon auf dem Rechner ist... |
Re: OnWork wird nach Download ausgeführt?
OK, ich hatte es so verstanden, dass die Datei noch nicht komplett auf dem Rechner ist.
|
Re: OnWork wird nach Download ausgeführt?
Hm... und nu?
|
Re: OnWork wird nach Download ausgeführt?
Moin DJ-SPM,
hast Du es bisher nur mit der MessageBox versucht? Wenn ja, probier mal einfach den WorkCount in ein Label oder ähnliches zu schreiben, und lass die MessageBox weg. |
Re: OnWork wird nach Download ausgeführt?
Hallo!
Zeigt leider keine Veränderung! |
Re: OnWork wird nach Download ausgeführt?
Wie groß ist die Datei?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz