Code:
SetArrayLength(Field[0][0], 5);
That line isn't like the ones before. This is an element not an array.
Code:
SetArrayLength(Field[0], 5);
Field[0] is the first Array in the 2dimensional array so you can set a length to that.
Field[0][0] is getting the first index (or element) of the 1st array. So you can't set a length to it, you can set it to be a value but not a length.
Code:
Field[0][0] := 456;
That would be the correct usage of Field[0][0].
Doing SetArrayLength on it would be like doing...
Code:
var i: integer;
SetArrayLength(i, 5);
i isn't an array, just like Field[0][0] isn't an array it is an element in the array, the first index of that array.
Hope this helps.