System.Classes.TPersistent.Assign
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
.