System.Variants.VarArrayCreate
Delphi
function VarArrayCreate(const Bounds: array of Integer;
AVarType: TVarType): Variant;
C++
extern DELPHI_PACKAGE System::Variant __fastcall VarArrayCreate(const int *Bounds, const int Bounds_High, System::Word AVarType);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | System.Variants.pas System.Variants.hpp |
System.Variants | System.Variants |
説明
バリアント配列を作成します。
VarArrayCreate は、Bounds で指定した上限/下限と VarType で指定した要素型を持つバリアント配列を作成します。
Bounds パラメータには、偶数個の値を含めなければなりません。2 個一組の値で、配列の 1 つの次元の上限および下限を指定します。
メモ: Bounds_size パラメータは、Bounds 配列の最後の値のインデックスです。これは、値の個数より 1 少ない数です。つまり Bounds_size は必ず奇数になります。
VarType パラメータで指定する配列の要素型は、バリアント型コードです。これは System ユニットで定義された定数のいずれかでなければなりません。varArray や varByRef のビットを含めることはできません。要素型を varString やカスタム Variant 型にすることはできません。文字列のバリアント配列を作成するには varOleStr 型コードを使用します。要素型が varVariant の場合には、配列の要素自体がバリアントとなり、その配列要素がさらにバリアント配列を含むことができます。
VarArrayCreate で配列を作成できない場合には、EVariantArrayCreateError が発生します。
メモ: 要素型が varByte であるバリアント配列は、OLE オートメーション コントローラと OLE オートメーション サーバーの間でバイナリ データを受け渡しするための方法として推奨されています。そのような配列は、データの解釈に制約されず、VarArrayLock ルーチンおよび VarArrayUnlock ルーチンを使って効率的にアクセスできるからです。