anchor.diff:      procedure Assign(aSource : TNullableInteger); overload;
       procedure Assign(aSourceField : TField); override; overload;
       procedure Assign (const aValue : String; const aBlankStringMeansNull : boolean); override; overload;
  +    function CheckIfDifferentAndAssign(const aValue : String; const aBlankStringMeansNull : boolean) : boolean;
       function AsVariant : Variant; override;
       function AsString : String;
   
  
positive.code: 
  procedure TNullableInteger.Assign(const aValue: String; const aBlankStringMeansNull: boolean);
  begin
    if aBlankStringMeansNull and (aValue = '') then
      Self.IsNull:= true
    else
      Self.Value:= StrToInt(aValue);
  end;
  
  function TNullableInteger.AsVariant: Variant;
  
negative.code:     procedure Assign(aSource : TNullableString); overload;
      procedure Assign(aSourceField : TField); override; overload;
      procedure Assign (const aValue : String; const aBlankStringMeansNull : boolean); override; overload;
      function CheckIfDifferentAndAssign(const aValue : String; const aBlankStringMeansNull : boolean) : boolean;
      function AsVariant: Variant; override;
      procedure Trim();
      function AsString : String;
  