System.Variants.TCustomVariantType.Copy

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

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.

Siehe auch