anchor.diff:        0: ;
         1: FreeMem(pvBlock.data);
         2: Dispose(pvBlock.data);
  -      3: TObject(pvBlock.data).Free;
  +      3: FreeObject(pvBlock.data);
  +{$IFDEF AUTOREFCOUNT}
  +      FREE_TYPE_OBJECTNONE: TObject(pvBlock.data).__ObjRelease;
  +{$ENDIF}
  +
       else
         Assert(False, Format('BufferBlock[%s] unkown data free type:%d', [pvBlock.owner.FName, pvBlock.data_free_type]));
       end;
  
positive.code:   Assert(lvBlock.flag = block_flag, 'invalid DBufferBlock');
  
    ReleaseAttachData(lvBlock);
    
    lvBlock.data := pvData;
    lvBlock.data_free_type := pvFreeType;
  end;
  
  function GetAttachData(pvBuffer: Pointer; var X: Pointer): Integer;
  
negative.code: end;
  
  
  
  
  end.
  