Einzelnen Beitrag anzeigen

Benutzerbild von stOrM
stOrM

Registriert seit: 7. Jun 2003
Ort: Mülheim an der Ruhr
434 Beiträge
 
Delphi 10.3 Rio
 
#16

AW: SQL Query in Thread wie Datenrückgabe realisieren

  Alt 13. Okt 2016, 15:13
Ich hab die Änderungen jetzt soweit eingebaut, ändert aber nichts an der Fehlermeldung mit dem Canvas.
Teilweise bekomme ich sogar noch folgendes: VCL.Grids stop in Zeile 888 GridIndex ausserhalb des gültigen Bereichs (mal was neues)
Das erinnert mit an den ungültigen Gitterindex bei StringGrids.
Das passiert, wenn man auf 'ne Zelle, Spalte, Zeile zugfreift, die es nicht (mehr) gibt.

Kann in dem Zusammenhang mit DBGrids passieren, wenn die Spaltenzahl der aktuellen Datenmenge nicht mit der der vorherigen übereinstimmt, das Grid aber trotzdem versucht die Daten einzulesen.

Schau mal bitte, ob Dein Grid sowas in der Art kennt:
Delphi-Quellcode:
DBGrid.Fields.Clear;
DBGrid.Columns.Clear;
(Eigentlich braucht man sowas ja nicht, aber manchmal doch )
Wenn ja, bau das nach dem Entfernen der Datasource noch ein oder vor der Zuweisung der Datasource, wenn Du die befüllte VT bekommst.
Jep Columns.Clear gibt es bau ich mal ein, dass Canvas Problem bleibt aber wie gehabt komischerweise tritt es eher Random ein.

Also keine Ahnung was das Problem ist, ich hab jetzt im ButtonClick noch extra folgendes eingebaut zur Sicherheit, ändert weiterhin nichts an den Exceptions:

Code:
  DBGrid1.Columns.Clear;
  VirtualTable1.Open;
  VirtualTable1.Edit;
  VirtualTable1.ClearFields;
  VirtualTable1.Close;
  DBGrid1.DataSource := Nil;

Geändert von stOrM (13. Okt 2016 um 15:32 Uhr)
  Mit Zitat antworten Zitat