anchor.diff:    TVisualGrid = class(TCustomVisualGrid)
     published
       property Align;
  -    property Columns;
       property PageSize;
   
       property OnDrawVisualCell;
  
positive.code: 
  procedure TCustomVisualGrid.ReloadColumns;
  begin
    FDrawGrid.ColCount := FColumns.Count;
  end;
  
  procedure TCustomVisualGrid.SetColumns(const Value: TStrings);
  begin
    FColumns.Assign(Value);
    ReloadColumns;
  end;
  
  procedure TCustomVisualGrid.SetDataSource(ADataSource: IDataSource);
  
negative.code: 
    TDrawVisualCellEvent = procedure(Sender: TObject; ACol, ARow: Longint;
      Canvas: TCanvas; Rect: TRect; State: TGridDrawState; const RowData: Variant; var Handled: boolean) of object;
  
    EVisualGridError = class(Exception);
  
    { TCustomVisualGrid }
  
  