API:System.Variants.TInvokeableVariantType

提供:RAD Studio API Documentation

TInvokeableVariantTypeSystem.Variants.TCustomVariantTypeSystem.TObject

Delphi

TInvokeableVariantType = class(TCustomVariantType, IVarInvokeable)

C++

class PASCALIMPLEMENTATION TInvokeableVariantType : public TCustomVariantType

プロパティ

種類 可視性 ソース ユニット
class public
System.Variants.pas
System.Variants.hpp
System.Variants System.Variants

説明

TCustomVariantType は,Delphi のカスタムバリアント型の基本クラスです。 {{#multireplace:System.Variants.TInvokeableVariantType|H21=!|H25=%|H28=(|H29=)|H2A=*|H2B=+|H2F=/|H3C=<|H3D==|H3E=>|H5B=[|H5D=]|H5E=^|H7C=|}} は {{#multireplace:System.Variants.TCustomVariantType|H21=!|H25=%|H28=(|H29=)|H2A=*|H2B=+|H2F=/|H3C=<|H3D==|H3E=>|H5B=[|H5D=]|H5E=^|H7C=|}} を継承しています。以下の内容はすべて {{#multireplace:System.Variants.TCustomVariantType|H21=!|H25=%|H28=(|H29=)|H2A=*|H2B=+|H2F=/|H3C=<|H3D==|H3E=>|H5B=[|H5D=]|H5E=^|H7C=|}} を参照しています。

TCustomVariantType は,Delphi のカスタムバリアント型の基本クラスです。

TCustomVariantType を使用すると,Delphi Variant の新しいデータ型を定義できます。TCustomVariantType の下位クラスは,バリアント自体を表しません。処理を実行するためにカスタム Variant が呼び出すユーティリティクラスとして機能します。

Variant 型を作成するには,次の手順にしたがいます。

1. Variant 型データの記憶域を TVarData レコードにマップします。

2. カスタム Variant のインスタンスを作成するメソッドを記述する。これにより,手順 1 で定義された Variant のデータにデータが書き込まれます。

3. TCustomVariantType から派生したクラスを宣言します。

4. 新しいクラスに必要な動作(型変換規則など)を実装します。このとき,適切な仮想メソッド(通常は BinaryOpUnaryOpCompareOp,または CompareCastCastToClearCopyIsClearLeftPromotionRightPromotion)をオーバーライドします。

5. TCustomVariantType の下位クラスを定義するユニットの initialization 部で,クラスのインスタンスを作成します。オブジェクトをインスタンス化すると,自動的に Variant 処理システムに登録され,新しい Variant 型が有効になります。

6. TCustomVariantType の下位クラスを定義するユニットの初期化クラスで,クラスのインスタンスを解放します。これにより,Variant 型は自動的に登録解除されます。

メモ:  C++ ではカスタム Variant 型を使用できますが,Delphi では TCustomVariantType の下位クラスを実装する必要があります。

例として FMTBcd ユニットを参照してください。このユニットは,2 進化 10 進数用のカスタム Variant 型を実装します。

ヒント:  ユーザーがメソッドまたはプロシージャを呼び出してプロパティ値を取得または設定できるカスタム Variant を作成するには,TInvokeableVariantType を基本クラスとして使用します。

関連項目