0
TIdHTTP 구성 요소에서 POST 호출 진행 상황을 표시하려고합니다. 나는이 문제를 디버깅 할 때IdHTTP.Post - 진행률 표시 줄에 진도가 표시되지 않습니다.
procedure TForm1.IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode;
AWorkCount: Int64);
begin
ProgressBar1.Position := AWorkCount;
end;
procedure TForm1.IdHTTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode;
AWorkCountMax: Int64);
begin
Progressbar1.Max := AWorkCountMax;
end;
그러나, 나는 .Max = AWorkCountMax;
줄에 2 번 착륙, 처음으로이 값은 65이며, 2 시간 값이 나는하지 않을 수 있습니다 알고 0
입니다 필요한 시간은 오래 걸리지 만 반환되는 데이터 양에 따라 길어질 수 있습니다.
시작이 그것을하지 않았다 :( – Jeff
흠, 나는 그것이 실제 크기를 결정할 수 없기 때문에이 있기 때문에, 생각 출력이 동적으로 생성되고 있습니다 .. – Jeff
맞습니다. 'AWorkCountMax'는 0 일 때 Indy는 얼마나 많은 데이터가 예상되는지 미리 알지 못합니다. HTTP에서는 보통 서버가 응답 데이터를 청크로 보내고 있음을 나타냅니다 (응답에는'Transfer-Encoding : chunked' 헤더가 들어 있습니다). 'AWorkCountMax'가 0 일 때, 다른 UI를 사용하여 지금까지 전송 된 총 바이트 수인'AWorkCount'의 실제 값을 표시해야합니다. –