System.TInterfacedObject.NewInstance

From RAD Studio API Documentation
Jump to: navigation, search

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.

See Also