Dispose: Porovnání verzí
Skočit na navigaci
Skočit na vyhledávání
m (1 revízia: Unit System) |
|||
Řádek 43: | Řádek 43: | ||
[[Category:System]] | [[Category:System]] | ||
[[Category:Procedúry System]] | [[Category:Procedúry System]] | ||
+ | [[Category:Procedury a funkce pro dynamické alokace]] |
Aktuální verze z 5. 10. 2012, 20:47
Vrací paměť alokovanou pro dynamickou proměnnou.
- Deklarace
procedure Dispose(var P: Pointer [ , Destructor ]);
- Režim
- Windows, Reálný, Chráněný
- Syntaxe Dispose byla rozšířena, takže může také uvolnit z heapu alokovaný objekt, pokud uvedete destruktor objektu jako parametr, např.:
Dispose(P, Done);
- Po volání Dispose se hodnota P stane nedefinovanou a následné odkazy P^ budou znamenat chybu.
- Omezení
- Pokud P neukazuje do paměťové oblasti v haldě, objeví se chyba při běhu programu (run-time error).
- Viz také
- FreeMem
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.