Hi,
Ich hab einen dynamischen array:
Delphi-Quelltext
1:
| var eingabe: array of array of extended; |
Den ich mit dieser procedure fülle:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| procedure TFunktionsgraph.ZeichnenClick(Sender: TObject); begin try k:= k+1;
if LBGezeichneteFunktionen.Items.Count = 0 then laenge:= 1 else laenge:= LBGezeichneteFunktionen.Items.Count;
SetLength(eingabe,4,laenge);
eingabe[0,k]:= StrToFloat(Ea0.Text); eingabe[1,k]:= StrToFloat(Ea1.Text); eingabe[2,k]:= StrToFloat(Ea2.Text); eingabe[3,k]:= StrToFloat(Ea3.Text);
Schaubild_Zeichnen; except end; end; |
(k wird bei OnFormCreate der Wert -1 zugewießen)
Ich habe eine Listbox angelegt wo er mir alle Gezeichneten Schaubilder auflistet. Jetzt möchte ich einzelen Funktionen aus der Listbox und somit aus dem array löschen.
Das mach ich mit dieser procedure:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure TFunktionsgraph.BBEintragLoeschenClick(Sender: TObject); var g,c: integer; begin for c:= 0 to LBGezeichneteFunktionen.Items.Count-1 do begin if LBGezeichneteFunktionen.Selected[c] then begin LBGezeichneteFunktionen.DeleteSelected; for g:= c to k do begin eingabe[0,g]:= eingabe[0,g+1]; eingabe[1,g]:= eingabe[1,g+1]; eingabe[2,g]:= eingabe[2,g+1]; eingabe[3,g]:= eingabe[3,g+1]; end; SetLength(eingabe,4,laenge-1);
Schaubild_Zeichnen; end; end; end; |
Ich bekomm aber jedesmal wenn ich einen Eintrag löschen will einen Application.Run error oder es kommt eine Fehlermeldung die mir sagt das der Listindex das Maximum überschreitet.
Weiß jemand wo da der Fehler liegt?