Otevřít hlavní menu

Změny

New

Přidáno 1 182 bajtů, 5. 10. 2012, 13:56
Vytvorená stránka „Vytvoří novou dynamickou proměnnou a vloží její adresu do proměnné typu ukazatel. ;Deklarace procedure New(var P: Pointer [ , Init: Constructor ]); ;Režim :W...“
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]]

:[[FreeMem]]

:[[GetMem]]

:[[Release]]


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.

[[Category:System]]
[[Category:Procedúry System]]