System.Classes.TPersistent.Assign

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

procedure Assign(Source: TPersistent); virtual;

C++

virtual void __fastcall Assign(TPersistent* Source);

Propriétés

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


Description

Copie le contenu d'un autre objet similaire.

Assign copie les propriétés et autres attributs de l'objet Source spécifié vers l'objet en cours. Le format standard d'un appel à Assign est :

Destination.Assign(Source); {Delphi}
Destination->Assign(Source); // C++

Ce code indique à l'objet en cours de copier le contenu de l'objet Source sur lui-même.

La plupart des objets surchargent Assign pour gérer l'assignation des propriétés à partir d'objets similaires. Lors de la surcharge de Assign, appelez la méthode héritée si l'objet de destination ne peut pas gérer l'assignation des propriétés à partir de la classe du paramètre Source.

Si aucune méthode Assign surchargée ne peut gérer l'assignation des propriétés à partir de Source, la méthode implémentée dans TPersistent appelle la méthode AssignTo de l'objet source. Ceci permet à l'objet source de gérer l'assignation. Si l'objet Source vaut nil (Delphi) ou NULL (C++), Assign déclenche une exception EConvertError.

En général, l'instruction

Destination := Source; {Delphi}
Destination = Source; // C++

n'est pas identique à l'instruction

Destination.Assign(Source); {Delphi}
Destination->Assign(Source); // C++

L'opérateur d'assignation fait que Destination désigne le même objet que Source, alors que la méthode Assign copie le contenu de l'objet référencé par Source dans l'objet référencé par Destination.

Remarque : Les types de certaines propriétés sont aussi des objets. Si ces propriétés ont des méthodes écrites qui utilisent Assign pour définir la valeur de la propriété, alors dans ces cas l'opérateur d'assignation effectue la même chose que la méthode Assign.

Voir aussi