Entwickler-Ecke
Datenbanken - Zugriffsverletzung bei Spaltenausrichtung
MisterBum - So 03.04.05 20:07
Titel: Zugriffsverletzung bei Spaltenausrichtung
Hallo,
habe eine Access-Tabelle die in einem DBGrid ausgegeben wird. Damit die Spalten an der längsten ausgerichtet werden, folgender Code. Hat alles super funktioniert bis ich nun neue Felder hinzugefügt habe. Jetzt stürzt er nach meheren Durchläufen der makierten For-Schleife mit einer Zugriffsverletzung ab. Woran könnte das liegen? Jemand ne Idee???
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37:
| procedure SetGridColumnWidths(Grid: Tdbgrid); const DEFBORDER = 10; var temp, n: Integer; lmax: array[0..30] of Integer; begin with Grid do begin DataSource.DataSet.DisableControls; Canvas.Font := Font; for n := 0 to Columns.Count - 1 do lmax[n] := Canvas.TextWidth(Fields[n].FieldName) + DEFBORDER; <------------- Zugriffsverletzung grid.DataSource.DataSet.First; if grid.DataSource.DataSet.RecordCount > 1000 then begin Grid.DataSource.DataSet.EnableControls; exit; end; while not grid.DataSource.DataSet.EOF do begin for n := 0 to Columns.Count - 1 do begin temp := Canvas.TextWidth(trim(Columns[n].Field.DisplayText)) + DEFBORDER; if temp > lmax[n] then lmax[n] := temp; end; grid.DataSource.DataSet.Next; end; grid.DataSource.DataSet.First; for n := 0 to Columns.Count - 1 do if lmax[n] > 0 then Columns[n].Width := lmax[n]; Grid.DataSource.DataSet.EnableControls; end; end; |
Moderiert von
AXMD: Delphi-Tags hinzugefügt.
Martin77 - So 03.04.05 21:16
Lass mich raten:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| lmax: array[0..30] of Integer; begin .... for n := 0 to Columns.Count - 1 do lmax[n] := Canvas.TextWidth(Fields[n].FieldName) + DEFBORDER; <------------- Zugriffsverletzung .... |
Du hast jetzt mehr als 31 Felder? ;)
Erweitere doch das Array
martin
MisterBum - Mo 04.04.05 10:24
Oh man bin ich do....
Vielen Dank!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!