program ptrarray; type P = ^R; R = record A : integer; end; var A : array[1..2] of P; I : integer; begin I := 1; New(A[I]); A[I]^.A := 42; writeln(A[I]^.A); Dispose(A[I]) end.