Обджект паскаль очень печально работает с динамическими массивами.
Намного лучше, и, что важно, быстрей в плане исполнения кода, будет использовать строку.
А потом методом get и set тягать/назначать элементы.
Т.е.
a: string;
в конструкторе setlength(a, n*4) (*8, если 64 битное приложение)
и методы
getElement(x:integer)
var tmpInt:integer;
move(a[(x*4)+1], tmpInt, 4); (везде 8 для 64 бит)
result:=tmpInt;
setElement(x, value:integer)
var tmpInt:integer;
tmpInt:=value;
move(tmpInt, a[(x*4)+1], 4); (везде 8 для 64 бит)
Оно, на первый взгляд, сложней, чем предыдущий ответ, но по факту проблем будет меньше. С передачами в качестве парамтров в функцию, с использованием внутри других функций и т.д.