Thema: Delphi TStringGrid

Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#4

AW: TStringGrid

  Alt 12. Apr 2021, 17:45
Der Fehler kommt aus
Delphi-Quellcode:
procedure TCustomGrid.MoveCurrent(ACol, ARow: Longint; MoveAnchor,
  Show: Boolean);
wenn diese Bedingung erfüllt ist:
Delphi-Quellcode:
  if (ACol < 0) or (ARow < 0) or (ACol >= ColCount) or (ARow >= RowCount) then
    InvalidOp(SIndexOutOfRange);
Sprich: Der Fehler tritt auf, wenn (aus welchem Grund auch immer) eine Zelle im Grid ausgewählt wird, die das Grid nicht enthält.

Beim Drehen des Mausrades wird halt immer weiter in den Zeilen nach oben oder unten gescrollt. Leider wird dabei vergessen auf das Ende des Grids zu achten und damit aus dem Grid rausgescrollt, anstatt dann mit dem Scrollen aufzuhören, wenn die erste bzw. die letzte Zeile im Grid erreicht ist.

Man könnte halt einfach mal aus dem
Delphi-Quellcode:
  if (ACol < 0) or (ARow < 0) or (ACol >= ColCount) or (ARow >= RowCount) then
    InvalidOp(SIndexOutOfRange);
ein
Delphi-Quellcode:
  if (ACol < 0) or (ARow < 0) or (ACol >= ColCount) or (ARow >= RowCount) then
    exit;
machen
  Mit Zitat antworten Zitat