谁能解决 indy httpclient 运行时的怪问题??????(200分)

  • 主题发起人 主题发起人 fjnnz
  • 开始时间 开始时间
F

fjnnz

Unregistered / Unconfirmed
GUEST, unregistred user!
有一个很奇怪的问题,请各位高手帮忙,困扰了很久了。
用TIdHttpClient下载文件,
利用了onWorkBegin onWork onWorkEnd 事件
procedure onWorkBegin(Sender: TObject;
AWorkMode: TWorkMode; const AWorkCountMax: Integer);
begin
Label1.Caption := IntToStr(AWorkCountMax) ;
end ;

procedure HTTPWork(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
begin
Label2.Caption := IntToStr(AWorkCount) ;
end;

原意是利用改组事件实现进度条功能,但在实际使用中发现了以下怪问题:
首次下载时一切正常,再次重复下载时,所取得的AWorkCountMax和AWorkCount属性值全部
不正确。

已使用IdAntiFreeze。

请高手赐教,在线等候!
 
看 D6 自带的例子:

procedure TForm1.HTTPWork(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
begin
if ProgressBar1.Max > 0 then
begin
StatusBar1.Panels[1].Text := IntToStr(AWorkCount) + ' bytes of ' +
IntToStr(ProgressBar1.Max) + ' bytes.';
ProgressBar1.Position := AWorkCount;
end
else
StatusBar1.Panels[1].Text := IntToStr(AworkCount) + ' bytes.';
end;
 
后退
顶部