procedure TIdComponent.BeginWork(AWorkMode: TWorkMode; const ASize: Integer =
0);
begin
Inc(FWorkInfos[AWorkMode].Level);
if FWorkInfos[AWorkMode].Level = 1 then
begin
FWorkInfos[AWorkMode].Max := ASize;
FWorkInfos[AWorkMode].Current := 0;
if assigned(OnWorkBegin) then
begin
OnWorkBegin(Self, AWorkMode, ASize);
end;
end;
end;
procedure TIdComponent.DoWork(AWorkMode: TWorkMode; const ACount: Integer);
begin
if FWorkInfos[AWorkMode].Level > 0 then
begin
Inc(FWorkInfos[AWorkMode].Current, ACount);
if assigned(OnWork) then
begin
OnWork(Self, AWorkMode, FWorkInfos[AWorkMode].Current);
end;
end;
end;