System.Classes.TPersistent.Assign

De RAD Studio API Documentation

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.

Appelez Assign pour copier les propriétés ou d'autres attributs d'un objet sur un autre. Le format standard d'un appel à Assign est :


Destination.Assign(Source); {Delphi}


Destination->Assign(Source); // C++


indique à l'objet Destination de copier sur lui-même le contenu de l'objet Source.

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

Si aucune méthode Assign redéfinie ne peut gérer l'affectation 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'affectation. 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++


En effet, l'opérateur d'affectation 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 utilisant Assign pour définir la valeur de la propriété, alors dans ces cas l'opérateur d'affectation effectue la même chose que la méthode Assign.

Voir aussi

Traductions