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:
[..]
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;
Danke im Voraus!