System.Classes.TPersistent.AssignTo

De Appmethod Libraries
Aller à : navigation, rechercher

Object Pascal

procedure AssignTo(Dest: TPersistent); virtual;

C++

virtual void __fastcall AssignTo(TPersistent* Dest);

Propriétés

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

Description

Copie les propriétés d'un objet dans l'objet destination.

Surchargez la méthode AssignTo pour étendre les fonctionnalités de la méthode Assign à des objets destination afin qu'elle gère de nouvelles classes d'objets. Quand vous définissez une nouvelle classe d'objet, surchargez la méthode Assign de chaque objet existant afin qu'il soit capable de copier ses propriétés dans la nouvelle classe. Surchargez la méthode AssignTo de chaque classe existante afin que la nouvelle classe puisse se copier.

La méthode Assign de TPersistent appelle AssignTo si l'objet descendant ne réussit pas à copier les propriétés d'un objet source. Par défaut, la méthode AssignTo définie par TPersistent déclenche une exception EConvertError.

Par exemple, étant donné le code suivant où A et B sont des variables d'instances :



A.Assign(B); {Delphi}



A->Assign(B); // C++



Si A sait comment gérer B, il peut le faire. Si A ne sait pas comment gérer le type de B, l'exécution passe à la version TPersistent de Assign, qui appelle :



B.AssignTo(A); {Delphi}



B->AssignTo(A); // C++



Si B sait comment se copier dans A, l'affectation a lieu. Sinon TPersistent déclenche une exception.

Voir aussi