Thema: Arrays

Einzelnen Beitrag anzeigen

Jacob

Registriert seit: 14. Apr 2020
Ort: Dresden
4 Beiträge
 
Delphi 10.3 Rio
 
#1

Arrays

  Alt 18. Apr 2020, 13:12
Delphi-Version: 10.3 Rio
Hi,
ich arbeite momentan mit einer ListBox. Zu dieser habe ich eine Funktion geschrieben, die es mir erlaubt (erlauben sollte), Elemente zu löschen.
Im Hintergrund habe ich einen Array, der zum ListenIndex die Daten festhält.
Wird nun in der ListBox ein Element gelöscht, soll dieses ebenfalls (um später Probleme beim Speichern zu vermeiden) aus dem Array gelöscht werden.
Dazu verwende ich einen zweiten Array, der die Werte mit Auslassung des zu löschenden Elements aufnimmt.

-MyItems ist der Array, in dem die Daten gespeichert werden
-_object ist die ListBox
-_index ist der Index des ausgewählten Elements in der ListBox
Code:
var
  _array: TArray2;
  I1,I2,a: Integer;
begin

  a := 0;
  _array := MyItems;

  for I1 := 0 to _object.Items.Count do
  begin

    if I1 <> _index then
    begin

      for I2 := 0 to 8 do
      begin

        _array[a, I2] := MyItems[I1, I2]; //Hier wird mir der Fehler angezeigt: Zugriffsverletzung bei Adresse ...

      end;

      a := a + 1;
    end;

  end;

  MyItems := _array;
  _object.Items.Delete(_index);

  Result := _object;
An beschriebener Stelle bricht das Programm ab. Der Compiler zeigt so weit keine Fehler.
Wenn ihr Ideen habt, immer her damit.

Vielen Dank,
Jacob.
Jacob
  Mit Zitat antworten Zitat