anchor.diff:  end;
   
   
  -(*
  -procedure TVirtualMasterDataLink.ActiveChanged;
  -begin
  -  if Dataset = nil then
  -    Exit;
  -
  -  // Fake a field.
  -  if Fields.Count = 0 then
  -    Fields.Add(TField.Create(Dataset));
  -
  -  if Dataset.Active and not(csDestroying in Dataset.ComponentState) then
  -    if Active then
  -    begin
  -      if Assigned(OnMasterChange) then
  -        OnMasterChange(Self);
  -    end
  -    else if Assigned(OnMasterDisable) then
  -      OnMasterDisable(Self);
  -end;*)
  -
   procedure TmCustomVirtualDataset.AfterConstruction;
   begin
     inherited;
  
positive.code:   TmCustomVirtualDataset = class;
    TmVirtualDataset       = class;
  
  {$IFDEF FPC}
    TValueBuffer = Pointer;
  {$IFEND}
  
    EVirtualDatasetError = class(Exception);
  
    TDeleteRecordEvent = procedure(
  
negative.code: 
      function InternalGetRecord(ABuffer  : TRecordBuffer; AGetMode : TGetMode; ADoCheck : Boolean): TGetResult; virtual;
  
      function GetActiveRecBuf(out ARecBuf: TRecordBuffer): Boolean;
  
      procedure VariantToBuffer(AField : TField; AVariant : Variant; ABuffer : Pointer; ANativeFormat : Boolean = True);
  //    procedure BufferToVariant(AField : TField; ABuffer : Pointer; out AVariant : Variant; ANativeFormat : Boolean = True);
  
      // Standard overrides
      function GetCanModify: Boolean; override;
  