anchor.diff:       or ((AText = FDecimalSeparator) and (UTF8Pos(AText, Text) <= 0)) then
       consumed := False
     else
  -    consumed := True;
  +    Exit; //==>
  +
     inherited HandleKeyChar(AText, shiftstate, consumed);
  +
     if FMaxLimit then
       if GetValue > FMaxValue then
         SetValue(FMaxValue);
  
positive.code:      or ((AText = FDecimalSeparator) and (UTF8Pos(AText, Text) <= 0)) then
      consumed := False
    else
      consumed := True;
    inherited HandleKeyChar(AText, shiftstate, consumed);
    if FMaxLimit then
      if GetValue > FMaxValue then
        SetValue(FMaxValue);
  
negative.code:   if ((n >= 48) and (n <= 57) or (AText = '-') and (UTF8Pos(AText, Text) <= 0)) then
      consumed := False
    else
      Exit; //==>
  
    inherited HandleKeyChar(AText, shiftstate, consumed);
  
    if FMaxLimit then
      if GetValue > FMaxValue then
        SetValue(FMaxValue);
  