Delphi-Quellcode:
type
TIntArray = array of Integer;
PIntArr = ^TIntArray;
TIntArrayArray = array of PIntArr;
procedure DeleteArrayElement(var AArray: TIntArrayArray; const AIndex: Integer);
begin
Dispose(AArray[AIndex]);
Move(AArray[AIndex + 1], AArray[AIndex], SizeOf(AArray[0]) * (Length(AArray) - AIndex - 1));
FillChar(AArray[High(AArray)], SizeOf(AArray[0]), 0);
SetLength(AArray, Length(AArray) - 1);
end;
FillChar/ZeroMemory nicht vergessen, da sonst das letzte Feld doppelt vorkommt, dann von SetLength freigegeben würde und somit das vorletzte (nun letzte) Feld auf nicht mehr existierende Daten zeigen könnte.