anchor.diff:              PAnsiChar(ABuffer)[0] := #0
             else
             begin
  +//            ShowMessage(VarTypeAsText(AVariant));
  +//            ShowMessage(IntToStr(integer(VarType(aVariant))));
               {$IFDEF FPC}
  -            raise Exception.Create('not supported');
  +            PAnsiChar(ABuffer)[0] := #0;
  +//            else
  +//              raise Exception.Create('not supported');
               {$ELSE}
               WideCharToMultiByte(0, 0, tagVariant(AVariant).bStrVal,
                 Size + 1, ABuffer,
  
positive.code:       {$ENDIF}
      ftBoolean:
        begin
          {$IFNDEF FPC}
          VarAsType(AVariant, VT_BOOL);
          WordBool(ABuffer^) := tagVariant(AVariant).vbool;
          {$ENDIF}
  
negative.code:     ftWord:
        AVariant := Word(ABuffer^);
      ftBoolean:
        AVariant := {$IFDEF FPC}(Integer(ABuffer^) = 1){$ELSE}WordBool(ABuffer^){$ENDIF};
      ftFloat, ftCurrency:
        AVariant := Double(ABuffer^);
      ftBlob, ftMemo, ftGraphic, ftWideMemo:
  