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 ;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | System.Variants.pas System.Variants.hpp |
System.Variants | TCustomVariantType |
説明
このカスタムバリアント型のデータをコピーします。
Copy メソッドをオーバーライドすると,カスタムバリアント型をほかのバリアントにコピー(代入)できます。
Dest は,値がソースバリアントのコピーであるバリアントの TVarData レコードです。
Source は,Dest にコピーするこのカスタムバリアントの TVarData レコードです。
Indirect は,直接コピーか間接コピーかを示します。Indirect が Ttrue の場合,ソース TVarData レコードは,データへの間接参照を格納します(VarDataIsByRef メソッドは,Source に対して Ttrue を返します)。間接コピーの場合,バリアントはデータを「所有」せずにデータを指しているだけなので,レコードまたはオブジェクトを再割り当てする必要はありません。直接コピーの場合,Copy は,割り当てられたレコードまたはオブジェクトに対して新しいメモリを割り当て,Dest がデータのコピーを「所有」できるようにする必要があります。
TCustomVariantType では,Copy は抽象メソッドです。下位クラスは,このメソッドをオーバーライドして実装を提供する必要があります。