anchor.diff:  procedure TKMNumericEdit.ButtonClick(Sender: TObject; Shift: TShiftState);
   begin
     if Sender = fButtonDec then
  -    Value := Value - GetMultiplicator(Shift)
  +    SetValueNCheckRange(Int64(Value) - GetMultiplicator(Shift))
     else
     if Sender = fButtonInc then
  -    Value := Value + GetMultiplicator(Shift)
  +    SetValueNCheckRange(Int64(Value) + GetMultiplicator(Shift))
     else
       Exit;
   
  
positive.code:   inherited KeyDown(Key, Shift);
  
    case Key of
      VK_UP:      Value := Value + 1 + 9*Byte(ssShift in Shift);
      VK_DOWN:    Value := Value - 1 - 9*Byte(ssShift in Shift);
    end;
  end;
  
  
negative.code: end;
  
  
  procedure TKMNumericEdit.SetValueNCheckRange(aValue: Int64);
  begin
    SetValue(EnsureRange(aValue, Low(Integer), High(Integer)));
  end;
  
  
  procedure TKMNumericEdit.SetValue(aValue: Integer);
  begin
    fValue := EnsureRange(aValue, ValueMin, ValueMax);
  