System.Variants.TCustomVariantType.Copy
Delphi
procedure Copy(var Dest: TVarData; const Source: TVarData;
const Indirect: Boolean); virtual; abstract;
C++
virtual void __fastcall Copy(TVarData &Dest, const TVarData &Source, const bool Indirect) = 0 ;
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
procedure function |
public | System.Variants.pas System.Variants.hpp |
System.Variants | TCustomVariantType |
Beschreibung
Kopiert die Daten eines Variant-Objekts dieses Typs.
Überschreiben Sie Copy, um das Kopieren von Variant-Objekten dieses Typs in einen anderen Variant-Typ zu implementieren (dieser zuzuweisen).
Dest ist ein Record (TVarData) aus dem Variant-Objekt, dem die Daten von Source zugewiesen werden.
Source ist ein Record (TVarData) mit den Daten des Variant-Objekts, das nach Dest kopiert werden soll.
Indirect gibt an, ob die Kopie direkt oder indirekt ist. Hat Indirect den Wert true, enthält Source einen indirekten Verweis (Zeiger) auf die Quelldaten (die Methode VarDataIsByRef muss dann für Source true zurückgeben). Daher muss kein Speicher für Datenstrukturen oder Objekte zugewiesen werden. Bei einer indirekten Kopie muss kein Speicher für Datenstrukturen oder Objekte zugewiesen werden, da das Variant-Objekt die Daten nicht enthält, sondern lediglich auf diese zeigt. Bei einer direkten Kopie muss neuer Speicher für alle Records oder Objekte zugewiesen werden, und somit erhält Dest eine eigene Kopie der Daten.
In TCustomVariantType ist Copy abstrakt. Sie muss in abgeleiteten Klassen überschrieben werden, um eine Implementierung bereitzustellen.