System.TypInfo.FreeAndNilProperties

De Appmethod Libraries
Aller à : navigation, rechercher

Object Pascal

procedure FreeAndNilProperties(AObject: TObject);

C++

extern DELPHI_PACKAGE void __fastcall FreeAndNilProperties(System::TObject* AObject);

Propriétés

Type Visibilité  Source Unité  Parent
procedure
function
public
System.TypInfo.pas
System.TypInfo.hpp
System.TypInfo System.TypInfo

Description

Libère toutes les valeurs de propriétés qui sont des objets et leur attribue la valeur nil (Object Pascal) ou NULL (C++).

Appelez FreeAndNilProperties à partir d'un destructeur pour libérer tous les objets créés en interne et attribuer à toutes les propriétés correspondantes la valeur nil (Object Pascal) ou NULL (C++). FreeAndNilProperties recherche les propriétés de AObject et identifie celles qui sont des objets. Elle libère ces objets et attribue la valeur nil (Object Pascal) ou NULL (C++) à la propriété correspondante.

. Par défaut, tous les objets persistants (TPersistent et descendants) sont compilés avec les RTTI. Les autres descendants de TObject peuvent être compilés avec RTTI en utilisant le commutateur de compilation $M+ dans Object Pascal ou la directive __declspec(delphirtti) dans C++.

Avertissement :  L'appel à FreeAndNilProperties libère les propriétés de tous les objets, ce qui peut avoir des effets inattendus. FreeAndNilProperties ne peut pas faire la distinction entre des objets créés par AObject (généralement stockés dans un membre de classe) et des objets créés indépendamment qui ne doivent pas être libérés avec AObject. Pour éviter de libérer involontairement des objets créés de manière indépendante, affectez la valeur nil (Object Pascal) ou NULL (C++) aux propriétés qui font référence à des objets externes avant d'appeler FreeAndNilProperties.

Voir aussi