anchor.diff:      FBlockStart, FBlockEnd : Int64;
       procedure DoUpdateBlockChainGrid(ANode : TNode; var AList : TList<TBlockChainData>; ABlockStart, ABlockEnd : Int64);
     protected
  +    FGridUpdateCount: Integer;
       procedure BCExecute; override;
  +    procedure RefreshGrid;
     public
       constructor Create(ABlockChainGrid : TBlockChainGrid);
     End;
  
positive.code:         FBlockChainGrid.FBlockChainDataList.Add(Llist[i]);
        end;
        if Assigned(FBlockChainGrid.DrawGrid) then begin
          if Llist.Count>0 then FBlockChainGrid.DrawGrid.RowCount := Llist.Count+1
           else FBlockChainGrid.DrawGrid.RowCount := 2;
           FBlockChainGrid.FDrawGrid.Invalidate;
        end;
      end;
    finally
      Llist.Free;
    end;
  end;
  
  constructor TBlockChainGridUpdateThread.Create(ABlockChainGrid : TBlockChainGrid);
  
negative.code:   inherited Create(True);
    FreeOnTerminate := False;
    Suspended := False;
  end;
  
  procedure TOperationsGridUpdateThread.DoUpdateOperationsGrid(ANode: TNode; var AList: TList<TOperationResume>);
  