New, процедураСинтаксисprocedure New(var P: Тип указателя); procedure New(var P: ^object; Constructor); Описание
Процедура New выделяет память для новой переменной типа "указатель"
или для "старого" объекта. Чаще всего эта процедура служит для установки
в переменной-указателе ссылки на динамически выделенную память. New вызывает
процедуру GetMem для выделения памяти и
затем процедуру Initialize для инициализации
строк, динамических массивов, интерфейсов или значений типа Variant, сформированных
в этой памяти. Заметьте, что поля других типов, например, скаляры, статические
массивы и короткие строки, не инициализируются.
Кроме того, с помощью процедуры New можно создать "старый" объект. Первый параметр - это переменная-указатель, необязательный второй параметр - имя конструктора и его необязательные параметры. Delphi вызывает конструктор, выделяет память для объекта, инициализирует новый участок памяти нулями и устанавливает указатель на выделенную память. New не является настоящей процедурой. ОшибкиСоветы и приемы
Примерtype PEmployee = ^TEmployee; TEmployee = record Name: string; TIN: string[9]; Salary: Currency; end; var E : PEmployee; begin New(E); try E.Salary := 0; // До установки фактического значения // инициализируем нулем. AbuseByPointyHairBoss(E); finally Dispose(E); end; end; Смотрите такжеПроцедуры Dispose, GetMem, Initialize.Учебник по языку Pascal Лабораторные работы по программированию Справочник
|