Registriert seit: 17. Jun 2009
616 Beiträge
|
AW: Lazarus: StringGrid.RowCount zur Laufzeit erhöhen
16. Feb 2015, 23:40
Moin Bernhard,
Delphi-Quellcode:
StringGrid1.RowCount:=sl.count; //funktioniert anscheinend nicht
for i := 0 to sl.count-1 do
begin
StringGrid1.Rows[i+1].StrictDelimiter := True;
StringGrid1.Rows[i+1].CommaText:=sl.Strings[i];
end;
Nehmen wir einmal an, dass Du 24 Eintrage in "sl" hast.
Also sl.Count ist 24.
In der 1. Anweisung setzt Du RowCount auf die Länge von sl (24).
Du hast also im Stringgrid Zeilen mit den Nummern 0 bis 23.
In der Schleife greifst Du aber auf die Zeilen 1 bis 24 zu.
Da es Zeile 24 nicht gibt ist der Index "Out of Range":
Code:
Exception class "EGridException" at $005666C9 with message "Index Out of range Cell[Col=0 Row=24]"
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
Geändert von BadenPower (16. Feb 2015 um 23:42 Uhr)
|