> -- kekc_leader писал(а):
> Оказывается, нельзя использовать NEW на массивах записей без метки (см. тип «M» ниже).Объясните, пожалуйста, почему это считается ошибкой. Ведь R - это записевый тип, размер которого известен в момент компиляции (его же нельзя расширять, т. к. он не помечен словом «EXTENSIBLE», правильно?). То есть R всегда будет занимать 4 байта. Почему же тогда нельзя выделить массив динамически?Вышел из положения тем, что написал:Почему я вообще написал там [untagged]? Потому что этот тип я должен передавать по ссылке в одну из процедур (SDL_FillRect), при этом VAR-параметр надо пометить директивой [nil], а это возможно только с записями, помеченными как [untagged].
Аргумент rect у FillRect -- не массив, и его не нужно выделять динамически.

А вообще NEW для untagged нельзя использовать, потому что отсутствует информация, необходимая для сборки мусора.