anchor.diff:  
       function CheckIfDifferentAndAssign(const aValue : Variant) : boolean; override;
       function AsVariant: Variant; override;
  -    function AsString : String; override;
  +    function AsString: String; override;
  +    function AsBoolean: Boolean;
   
       class function StringToVariant(const aValue: String): Variant;
       class function VariantToString(const aValue: Variant): String;
  
positive.code:     Value : string;
      IsNull : boolean;
  
      procedure CreateAsNull;
      procedure CreateWithValue (const aValue : String);
  
      procedure Assign(const aSource : TNullableStringRecord); overload;
      procedure Assign(const aSourceField : TField); overload;
      procedure Assign(const aValue : String); overload;
      procedure Assign(const aValue : Variant);overload;
      procedure Assign(const  aValue : String; const aAllowBlankValue : boolean); overload;
      function CheckIfDifferentAndAssign(const aValue : Variant) : boolean;
      function AsVariant: Variant;
      procedure Trim();
      procedure ChangeToBlankIfNull;
  
negative.code: end;
  
  procedure TNullableDoubleRecord.Assign(const aValue: Variant);
  var
    tmpDouble : double;
  begin
    if VarIsNull(aValue) then
      SetNull
    else
    begin
      tmpDouble := aValue;
      SetValue(tmpDouble);
    end;
  end;
  
  
  function TNullableDoubleRecord.AsVariant: Variant;
  begin
  