System.TInterfacedObject.NewInstance
Delphi
class function NewInstance: TObject; override;
C++
__classmethod virtual TObject* __fastcall NewInstance();
Properties
Type | Visibility | Source | Unit | Parent |
---|---|---|---|---|
function | public | System.pas systobj.h |
System | TInterfacedObject |
Description
Allocates memory for each instance of an interfaced object.
All constructors call NewInstance automatically. NewInstance calls InstanceSize to determine how much memory to allocate from the heap to contain a particular instance. Do not call NewInstance directly.
TInterfacedObject overrides NewInstance to increment the reference count when a new instance is created. This prevents any constructor from accidentally deleting the instance due to a RefCount of zero. The AfterConstruction method decrements the value of RefCount after all constructors have executed.