Skip to main content

TcxOwnedInterfacedPersistent Class

The base class for all classes that implement owned persistent information containers (property sets) that support one or more interfaces without automatic reference count (ARC).

Declaration

TcxOwnedInterfacedPersistent = class(
    TcxOwnedPersistent,
    IInterface
)

Remarks

VCL provides both the manual and automatic class instance management models. In the latter case, an application automatically releases an object when no other object accesses it via an interface. Each object accessible via an interface (that is, an interfaced object) has a dedicated reference counter, and the application frees up such an object when its reference counter reaches 0. Different classes that support an interface provide different implementations of the _AddRef and _Release functions designed to increment and decrement the corresponding reference counter every time a reference is created or destroyed.

The TcxOwnedInterfacedPersistent class expands the base property set class with the IUnknown interface implementation that disables automatic reference count for all the class’ descendants (that is, interfaced property sets) regardless of how your application uses them. The application must explicitly free up such interfaced property sets to avoid memory leaks. An owner object‘s destructor always releases a TcxOwnedInterfacedPersistent object in DevExpress products.

Do not use the TcxOwnedInterfacedPersistent class directly. Use its descendants instead.

Implements

Inheritance

TObject
TPersistent
TcxOwnedPersistent
TcxOwnedInterfacedPersistent
See Also