System.Classes.TPersistent.AssignTo
Delphi
procedure AssignTo(Dest: TPersistent); virtual;
C++
virtual void __fastcall AssignTo(TPersistent* Dest);
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
procedure function |
protected | System.Classes.pas System.Classes.hpp |
System.Classes | TPersistent |
Beschreibung
Kopiert die Eigenschaften eines Objekts in ein Zielobjekt.
Überschreiben Sie die Methode AssignTo, um die Funktionalität der Methode Assign des Zielobjekts zu erweitern, sodass neu erstellte Objektklassen gehandhabt werden können. Überschreiben Sie beim Definieren einer neuen Objektklasse die Methode Assign für jede vorhandene Objektklasse, die ihre Eigenschaften in die neue Klasse kopieren soll. Überschreiben Sie die Methode AssignTo für jede vorhandene Objektklasse, in die die neue Klasse kopieren kann.
Die Methode Assign von TPersistent ruft AssignTo, wenn der Nachkomme die Eigenschaften des Quellobjekts nicht kopieren kann. Die von TPersistent definierte Methode AssignTo löst eine EConvertError-Exception aus.
Im folgenden Beispiel sind A und B Instanzenvariablen:
A.Assign(B); {Delphi}
A->Assign(B); // C++
Wenn A weiß, wie B behandelt werden muss, erfolgt die Verarbeitung, und A kehrt zurück. Wenn A dagegen nicht weiß, wie der Typ von B behandelt werden muss, wird die Ausführung in der Hierarchie nach oben bis zu Assign von TPersistent, weitergeleitet. Dort erfolgt der Aufruf:
B.AssignTo(A); {Delphi}
B->AssignTo(A); // C++
Wenn B weiß, wie zu A kopiert wird, ist die Zuweisung erfolgreich. Wenn B nichts über A weiß, wird eine Exception ausgelöst.