anchor.diff:  
     OnlyMinus := (fText = '-');
   
  -  if (fText = '') or OnlyMinus then
  +  if (fText = '') or OnlyMinus or IsEmpty then
       Value := 0
     else
       SetValueNCheckRange(StrToInt64(fText));
   
     if OnlyMinus then fText := '-'; //Set text back to '-' while still editing.
  +  if IsEmpty then fText := ''; //Set text back to '' while still editing.
   
     CursorPos := Min(CursorPos, Length(fText)); //In case we had leading zeros in fText string
   
  
positive.code: var
    I: Integer;
    AllowedChars: TSetOfAnsiChar;
    OnlyMinus: Boolean;
  begin
    AllowedChars := ['0'..'9'];
    //Validate contents
    for I := Length(fText) downto 1 do
  
negative.code:     procedure SetValueNCheckRange(aValue: Int64);
      procedure SetValue(aValue: Integer);
      procedure SetSharedHint(aHint: UnicodeString);
      procedure CheckValueOnUnfocus;
    protected
      procedure SetLeft(aValue: Integer); override;
      procedure SetTop(aValue: Integer); override;
  