Procedure Dispose (P : pointer) ;
Dispose releases the memory allocated with a call to New. The pointer P must be typed. The released memory is returned to the heap.
An error will occur if the pointer doesn't point to a location in the heap.
Program Example16;
{ Program to demonstrate the Dispose and New functions. }
Type SS = String[20];
AnObj = Object
I : integer;
Constructor Init;
Destructor Done;
end;
Var
P : ^SS;
T : ^AnObj;
Constructor Anobj.Init;
begin
Writeln ('Initializing an instance of AnObj !');
end;
Destructor AnObj.Done;
begin
Writeln ('Destroying an instance of AnObj !');
end;
begin
New (P);
P^:='Hello, World !';
Dispose (P);
{ P is undefined from here on !}
New(T,Init);
T^.i:=0;
Dispose (T,Done);
end.