Dispose - procedura
Usuwa z pamięci zmienną dynamiczną.
Deklaracja:
Dispose(var p: pointer)
lub
Dispose(var p: pointer; Destructor) (zapis nieformalny)
P - zmienna dowolnego typu wskaźnikowego.
Dispose zwalnia obszar pamięci dynamicznej zajmowany przez zmienną wskazywaną przez p, która została wcześniej utworzona przez wywołanie procedury New. Po wykonaniu procedury Dispose wartość zmiennej wskaźnikowej jest nieokreślona (na nic nie wskazuje) i odwołanie typu p^ spowoduje błąd. Składnia procedury Dispose może być rozszerzona przez dodanie drugiego parametru wywołania Destructor. Użycie rozszerzonej składni jest możliwe tylko wtedy gdy zmienna p wskazuje na zmienną typu obiektowego, która ma zdefiniowany destruktor. Przed zlikwidowaniem odpowiedniej dynamicznej zmiennej obiektowej wywoływany jest jej destruktor co może być konieczne gdy polami obiektu są zmienne dynamiczne, które również powinny zostać usunięte z pamięci.