if assigned(FDlgForm) then begin FDlgForm.Gauge1.MinValue := FProgressMin; if FDlgForm.Gauge1.Progress < FProgressMin then begin FDlgForm.Gauge1.Progress := FProgressMin; FDlgForm.Update ; end; end; end;
procedure TdsWaitDialogEx.SetProgressStep(const Value: integer); begin if FProgressStep=value then exit; FProgressStep := Value; end;
procedure TdsWaitDialogEx.SetProgressPos(const Value: integer); begin if FProgressPos=value then exit; FProgressPos := Value; if FProgressMin>FProgressPos then FProgressPos:=FProgressMin; if FProgressMax<FProgressPos then FProgressPos:=FProgressMax; if not (showProgress in FOptions) then exit; if assigned(FDlgForm) then begin FDlgForm.Gauge1.Progress:=FProgressPos; FDlgForm.Update ; DoPosChange; end; end;
procedure TdsWaitDialogEx.ProgressStepIt; begin if FProgressPos + FProgressStep>FProgressMax then FProgressPos:=0 else FProgressPos := FProgressPos + FProgressStep; if FProgressMin>FProgressPos then FProgressPos:=FProgressMin; if FProgressMax<FProgressPos then FProgressPos:=FProgressMax; if not (showProgress in FOptions) then exit; if assigned(FDlgForm) then begin FDlgForm.Gauge1.Progress:=FProgressPos; FDlgForm.Update ; DoPosChange; end; end;
procedure TdsWaitDialogEx.SetOnFormHide(const Value: TCloseEvent); begin FOnFormHide := Value; if FDlgForm <> nil then FDlgForm.UserFormClose := Value; end;
procedure TDlgWaitEx.FormClose(Sender: TObject; var Action: TCloseAction); begin while GetTickCount < FCloseAfter do Application.ProcessMessages; if Assigned(FUserFormClose) and (Action=caHide) then FUserFormClose(Self, Action); end;