> -- Илья Ермаков писал(а):
> А как он должен поступать ещё?Если есть правило - для каждой записи должна быть таблица всех указателей в её экземпляре.Ситуация-то ненормальная с таким массивом, зафигаченным в поле.

Если я определяю тип
p = POINTER TO ARRAY 500000 OF some_pointer;
то компилятор не генерирует большой exe файл. Конечно, когда выполнится оператор NEW(p) то выделиться память под массив и под дополнительную информацию.

Когда я пишу
r = POINTER TO RECORD a: ARRAY 500000 OF some_pointer; END;
то я ожидаю, что компилятор не будет генерировать большой exe файл (а он почему-то генерирует большой файл), а когда я выполню NEW(r), то выделиться память под массив и под дополнительную информацию.

До этого случая я считал, что те две записи, которые я привел, почти эквиваленты, за исключением того, что в первом случае надо будет обращаться к элементу как p[i], а во втором, как r.a[i].
Возможно я не понимаю какой-то принципиальной разницы между POINTER TO ARRAY и POINTER TO RECORD.