anchor.diff:  
     CursorPos := Min(CursorPos, Length(fText)); //In case we had leading zeros in fText string
   
  -  if Assigned(OnChange) then
  -    OnChange(Self);
  +  inherited; //Will trigger OnChange event
   end;
   
   
  
positive.code:   inherited KeyDown(Key, Shift);
  
    case Key of
      VK_UP:      SetValueNCheckRange(Int64(Value) + 1 + 9*Byte(ssShift in Shift));
      VK_DOWN:    SetValueNCheckRange(Int64(Value) - 1 - 9*Byte(ssShift in Shift));
      VK_DELETE:  ValidateText; //Update value, cause we just deleted text and KeyPress was not invoked
    end;
  end;
  
negative.code:     procedure FocusChanged(aFocused: Boolean); override;
      function GetMaxLength: Word; virtual; abstract;
      function IsCharValid(aChar: WideChar): Boolean; virtual; abstract;
      procedure ValidateText; virtual;
      function KeyEventHandled(Key: Word; Shift: TShiftState): Boolean; virtual; abstract;
      procedure PaintSelection;
      function DrawEolSymbol: Boolean; virtual;
      function DoShowMarkup: Boolean; virtual;
  
      procedure Changed;
    public
      ReadOnly: Boolean;
      BlockInput: Boolean; // Blocks all input into the field, but allow focus, selection and copy selected text
  