Description |
The Dispose procedure comes in two flavours.
The older version is an obsolete method of destroying objects (you should now call the class destructor instead).
The first version frees storage used by a pointer type variable VariablePointer.
You should use Dispose when no longer using a variable allocated using New.
|
|
Notes |
Warning : the variable is undefined after calling Dispose. It is not set to nil.
|
|
Related commands |
FreeMem |
|
Free memory storage used by a variable |
GetMem |
|
Get a specified number of storage bytes |
New |
|
Create a new pointer type variable |
ReallocMem |
|
Reallocate an existing block of storage |
|
|
|
Example code : Allocate memory for a record, assign to it, and then dispose of it |
type
TCustomer = Record
name : string[20];
age : Byte;
end;
var
custRecPtr : ^TCustomer;
begin // Create a customer record using 'New'
New(custRecptr);
// Assign values to it
custRecPtr.name := 'Her indoors';
custRecPtr.age := 55;
// Now display these values
ShowMessageFmt('%s is %d',[custRecPtr.name, custRecPtr.age]);
// Now dispose of this allocated record
Dispose(custRecPtr);
end;
|
Show full unit code |
Her indoors is 55
|
|