anchor.diff:        CallDesc: PCallDesc; Params: Pointer); cdecl;
   begin
     if TVarData(Source).VType=varUnknown then
  +{$IFDEF DELPHI6}
  +    VarObjectType.DispInvoke(PVarData(Dest)^, TVarData(Source), CallDesc, Params)
  +{$ELSE}
       VarObjectType.DispInvoke(PVarData(Dest), TVarData(Source), CallDesc, Params)
  +{$ENDIF}
     else if Assigned(OldVarDispProc) then
       OldVarDispProc(Dest, Source, CallDesc, Params)
     else
       raise exception.Create('Variant method calls not supported');
   end;
  -{$ENDIF}
   
   function ListSplit(ListClass: TListClass; Str: string;
     const Separator: string; Limit: Integer; TrimItem: Boolean;
  
positive.code:   Result := not Assigned(V.VPointer);
  end;
  
  {$IFDEF DELPHI7_UP}
  var
    OldVarDispProc: TVarDispProc;
  
  
negative.code: end;
  
  initialization
    OldVarDispProc := Variants.VarDispProc;
    Variants.VarDispProc := @IntfDispInvoke;
    VarObjectType := TVarObjectType.Create;
    varObject := VarObjectType.VarType;
  
  