Description |
The New procedure comes in two flavours.
The older version is an obsolete method of creating objects (you should now call the class constructor instead).
The first version allocates storage for a pointer type variable VariablePointer.
New is used when the storage is requirement is fixed in size. Use GetMem to dictate the exact storage size allocated.
|
|
Related commands |
Dispose |
|
Dispose of storage used by a pointer type variable |
FreeMem |
|
Free memory storage used by a variable |
GetMem |
|
Get a specified number of storage bytes |
ReallocMem |
|
Reallocate an existing block of storage |
|
|
|
Example code : Allocate memory for a record, and assign to 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
|
|