Vytvoří novou dynamickou proměnnou a vloží její adresu do proměnné typu ukazatel.
- Deklarace
procedure New(var P: Pointer [ , Init: Constructor ]);
- Režim
- Windows, Reálný, Chráněný
- Poznámky
- Deklarace New byla rozšířena také pro alokaci objektu na haldě, pokud jako druhý parametr předáte volání konstruktoru objektu, jako např.:
New(T, Init(360, 174));
- Další rozšíření umožňuje použití procedury New jako funkce, která alokuje a vrátí dynamickou proměnnou určeného typu.
- Jestliže volání je ve formě New(T), T může být libovolného ukazatelového typu.
- Jestliže volání je ve formě New(T, Init), T musí být ukazatelem na objektový typ a Init musí odkazovat na konstruktor tohoto objektového typu. V obou případech je typem výsledku funkce T.
- Viz také
- Dispose
Vzorový příklad
{Dispose.PAS} {Vzorový příklad pro procedury New a Dispose.} type Str18 = string[18]; var P: ^Str18; begin New(P); P^ := 'Teď ji uvidíte...'; Dispose(P); { Teď ne... } end.