System.TObject.Free

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

procedure Free;

C++

void __fastcall Free(void);

Propriétés

Type Visibilité  Source Unité  Parent
procedure
function
public
System.pas
systobj.h
System TObject

Description

Détruit un objet et libère si nécessaire la mémoire associée.

Utilisez la méthode Free pour détruire un objet. Free appelle automatiquement le destructeur de l'objet si la référence de l'objet n'est pas nil. Tout objet instancié à l'exécution qui n'a pas de propriétaire doit être détruit par un appel à Free, afin que cet objet et la mémoire soient correctement libérés. A la différence de Destroy, Free réussit même si l'objet est à nil, de sorte que la méthode Free ne provoque pas d'erreur, même pour un objet qui n'a jamais été initialisé.

Lorsque vous appelez Free pour un composant, Free est appelée pour tous les composants qu'il possède, c'est-à-dire, tous les composants de sa liste de composants. Etant donné qu'une fiche possède tous les contrôles et autres composants créés sur elle en mode conception, ces composants sont automatiquement libérés lorsqu'elle-même est libérée. Par défaut, toutes les fiches sont possédées par l'objet Application ; lorsque l'application s'achève, elle libère l'objet Application, qui libère toutes les fiches. Pour les objets qui ne sont pas des composants, ou pour les composants créés avec un propriétaire nil, vérifiez que vous appelez Free après en avoir terminé avec eux, sinon la mémoire allouée ne sera pas utilisable après la fin de l'application.

Avertissement: Ne libérez jamais explicitement un composant dans un de ses propres gestionnaires d'événement ou dans un gestionnaire d'événement d'un composant qu'il possède ou contient. Par exemple, ne libérez pas un bouton, ou la fiche qui le possède, dans son gestionnaire d'événement OnClick.

Pour libérer une fiche, appelez sa méthode Release, qui détruit la fiche et libère la mémoire allouée pour celle-ci après que tous ses gestionnaires d'événements et les composants qu'elle contient ont fini de s'exécuter.

Remarque: Dans le code C++, n'utilisez pas Free pour détruire un objet. Utilisez plutôt le mot clé delete.

Voir aussi

Exemples de code