Einzelnen Beitrag anzeigen

Schwabe

Registriert seit: 4. Jan 2004
15 Beiträge
 
#1

Problem mit dynamischen array

  Alt 25. Jan 2004, 13:25
Hi,

Ich hab einen dynamischen array:
var eingabe: array of array of extended; Den ich mit dieser procedure fülle:
Delphi-Quellcode:
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-Quellcode:
procedure TFunktionsgraph.BBEintragLoeschenClick(Sender: TObject);
var g,c: integer;
begin
  for c:= LBGezeichneteFunktionen.Items.Count-1 downto 0 do
  begin
    if LBGezeichneteFunktionen.Selected[c] then
    begin
      LBGezeichneteFunktionen.Items.Delete[c];
      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?
  Mit Zitat antworten Zitat