В этом случае SomeProcedure будет добавлять передаваемый па- раметр к некоторому списку. В противном случае распределяемая па- мять будет потеряна. Библиотеки Borland Turbo Vision и Borland Pascal широко используют этот метод для присваивания динамических объектов спискам.
Использование New с объектами
Когда вы используете New как функцию или процедуру для выде- ления динамического объекта, то можете добавить необязательный второй параметр, который задает применяемый для инициализации объекта конструктор. В Примере 8.3 первое обращение к New распре- деляет пространство для объекта, но не инициализирует этот объ- ект. Второй вызов выделяет память и вызывает для задания объекта конструктор Init.
type PMyObject = ^TMyObject; TMyObject = object constructor Init; end;
var MyObject, YourObject: PMyObject; begin New(MyObject); { объект не инициализируется } New(YourObject, Init); { вызов Init для инициализации объекта }
end.
Пример 8.3 Создание динамических объектов.
Примечание: Об объектах и их конструкторах рассказыва- ется в Главе 9 "Объектно-ориентированное программирование".