Hi,
Zitat:
SetLength(hAuto[i],Length(hAuto[i])-2);
Das Verkürzen des Arrays innerhalb der Schleife führt letztlich zum Fehler. Die Schleifengrenzen werden nur einmal
vor dem Eintritt in den Schleifenkörper berechnet, nach dem Verkürzen des Arrays greifst du somit zum Schluß auf nicht mehr vorhandene Elemente zu. Lasse die
h-Schleife einfach rückwärts laufen.
Warum arbeitest du eigentlich mit dynamischen Arrays? Delphi bietet mit
TObjectList ein Listenobjekt an, das bereits Methoden zum Einfügen und Löschen von Elementen enthält.
Die Freigabe eines Objekts sollte mit der Methode
TObject.Free erfolgen und nicht mit TObject.Destroy.
Die Funktion
High liefert dir den höchsten Index in einem Array.
Gruß Hawkeye