Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

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

Delphi
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