anchor.diff:    protected
       FGUIUpdates: TUpdateOfVisualGridGUI;
       FDataTable: TDataTable;
  +    FCachedDataTable: PDataTable;
       FDataSource: IDataSource;
       FSearchCapabilities: TSearchCapabilities;
       FPageSize: Integer;
  
positive.code:   begin
      if FromThread then
      begin
        FFetchDataThreadTimer.Enabled:=false;
        FLoadDataPanel.Visible:=False;
        SetAllEditsAsReadOny(false);
  
negative.code:   FGrid.BeforeFetchPage;
    FreeOnTerminate:=true;
    FLastFetchDataResult.RefreshColumns:=ARefreshColumns;
    // fast copy of data (we need to draw old data for a while)
    New(FGrid.FCachedDataTable);
    Move(FGrid.FDataTable, FGrid.FCachedDataTable^, SizeOf(TDataTable));
    FillChar(FGrid.FDataTable, SizeOf(TDataTable), #0);
    inherited Create(false);
  end;
  
  