anchor.diff:        const Name: string; const Arguments: TVarDataArray): Boolean; override;
       function GetProperty(var Dest: TVarData; const V: TVarData;
         const Name: string): Boolean; override;
  -    function SetProperty({$IF DEFINED(FPC) AND (FPC_VERSION >= 3)}var{$ELSE}const{$IFEND} V: TVarData; const Name: string;
  +    function SetProperty({$IF DEFINED(FPC) AND (FPC_VERSION >= 3.0)}var{$ELSE}const{$IFEND} V: TVarData; const Name: string;
         const Value: TVarData): Boolean; override;
   
       procedure CastTo(var Dest: TVarData; const Source: TVarData;
  
positive.code: 
  { TVarObjectType }
  
  {$IF DEFINED(FPC) AND (FPC_VERSION < 3)}
  const
    VAR_PARAMNOTFOUND = HRESULT($80020004);
  
  
negative.code:   if Result then Variant(Dest) := HproseCommon.GetPropValue(Obj, Info);
  end;
  
  function TVarObjectType.SetProperty({$IF DEFINED(FPC) AND (FPC_VERSION >= 3.0)}var{$ELSE}const{$IFEND} V: TVarData;
    const Name: string; const Value: TVarData): Boolean;
  var
    Obj: TObject;
  