Delphi Basics
New
Procedure
Create a new pointer type variable System unit
1  procedure New ( var VariablePointer : Pointer-Type ) ;
2  procedure New ( var ObjectPointer : Object-Pointer; Constructor ) ;
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
// Full Unit code.
// -----------------------------------------------------------
// You must store this code in a unit called Unit1 with a form
// called Form1 that has an OnCreate event called FormCreate.
 
unit Unit1;
 
interface
 
uses
  // The System unit does not need to be defined
  Forms, Dialogs;
 
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  end;
 
var
  
Form1: TForm1;
 
implementation
{$R *.dfm} // Include form definitions
 
procedure TForm1.FormCreate(Sender: TObject);

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;
 
end.
Hide full unit code
   Her indoors is 55
 
 
© CodeGear 2006 - 2007. All rights reserved.  |  Home Page