Zitat von
Pseudemys Nelsoni:
Wenn du ein DynArray um 1 erhöhen möchtest, brauchst Du nur:
SetLength(DynArray, Length(DynArray))
zu schreiben. Das ergibt sich daraus, da die Länge immer 1 grösser ist, als der Index des letzten Elements.
Das stimmt so nicht. Length fragt die anzahl der möglichen Elemente ab. "Length(DynArray" gibt also 1 zurück wenn 1 Elemente rein passen. Und mit SetLength gibt man ebenfalls an wieviel Elemente in das Array rein passen sollen. mit
SetLength(DynArray, Length(DynArray))
bleibt die größe also wie sie war. Es muss wenn dann schon so lauten:
SetLength(DynArray, Length(DynArray) + 1)