EInvalidGridOperation bei Mausradbenutzung
-
Hallo,
habe ein TStringGrid und darin verwende ich die Ereignisse
- OnDrawCell
- OnMouseDown
- OnSelectCellAlle 3 Routinen sind Try/Catch(...) eingebettet.
Ich setze den Focus auf das TStringGrid; es ist aber keine Zelle
selektiert. Wenn ich nun mein Mausrad nach unten drehe, erhalte ich folgende
Fehlermeldung (im IDE und auch in der EXE):---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt NetCat_Finder_3.exe ist eine Exception der Klasse EInvalidGridOperation aufgetreten. Meldung: 'Gitterindex außerhalb des zulässigen Bereichs'. Prozeß wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------Der IDE springt im Quellcode nirgends hin und bietet mir nur die Option CPU-Fenster an. Laut Handbuch sollte der Fehler also nicht direkt in den 3 Ereignissen auftreten, sondern woanders. Aber wie finde ich diese Stelle bzw
wie kann ich diesen Fehler eingrenzen?Habe mir jetzt erstmal beholfen mit folgendem Ereigniss:
void __fastcall TForm1::frm1_grdGeraetMouseWheelDown(TObject *Sender, TShiftState Shift, TPoint &MousePos, bool &Handled) {Handled=true; // Mausrad ignorieren } void __fastcall TForm1::frm1_grdGeraetMouseWheelUp(TObject *Sender, TShiftState Shift, TPoint &MousePos, bool &Handled) {Handled=true; // Mausrad ignorieren }Dann ist der Fehler weg; wüsste halt nur gerne wie obiger Fehler zu erkennen bzw. im IDE einzugrenzen ist, wenn man nur das CPU Fenster bekommt. Danke für jeden lehrreichen Tip.
Stefan Scholz
-
Ich würde mir eher mal anschauen was z.B. im OnSelectCell steht.Das wird auch durchs Mausrad drehen aufgerufen.
Alle 3 Routinen sind Try/Catch(...) eingebettet.
Du meinst das Try/Catch ist in den Ereignissen eingebettet oder ?
-
Hallo, Stefan
habe die Routine mit Haltepunkt versehen, beim Drehen des Mausrades
kommt er aber garnicht mehr dahin. Die Meldung entsteht also woanders;
bekomme aber leider nicht heraus, wo...
Trotzdem danke für den Tipp, (auch) Stefan
-
Hast du die Selection in den negativen Koordinatenbereich verschoben? In dem Fall wäre die Exception ja nachvollziehbar.