API:System.Variants.TInvokeableVariantType

提供: RAD Studio API Documentation
移動先: 案内検索

System.Variants.TCustomVariantTypeSystem.TObjectTInvokeableVariantType

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 のカスタムバリアント型の基本クラスです。

System.Variants.TInvokeableVariantType は System.Variants.TCustomVariantType を継承しています。以下の内容はすべて System.Variants.TCustomVariantType を参照しています。

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 を基本クラスとして使用します。

関連項目