TDBAdvGrid EArgumentOutOfRangeException

It is really easy to duplicate now that I found the process. Just have a grid that fits in the space, no horizontal scrollbar, and has some white space to the right of the grid. then mouse down on the last column and slide the mouse to the white space to the right of the last column and lift the mouse. In DoCanEditCell, ACol and ARow are both -1, so the index into Columns[ACol} fails.

procedure TDBAdvGrid.DoCanEditCell(ACol, ARow: Integer; var CanEdit: boolean);
begin
  inherited;

  if (ACol >= Columns.Count) then
    Exit;

  if Columns[ACol].ReadOnly then  << fails here because ACol = -1
    CanEdit := false;
end;

Maybe change the first IF to read:

  if (ACol < 0) or (ACol >= Columns.Count) then
    Exit;

I will also send you an example so you can find the real root of the issue instead of this possible band-aid fix.