有効な型

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

タイプ ライブラリの操作:インデックス への移動

タイプライブラリエディタでは,IDL と Delphi のどちらで作業をするかで,異なる型識別子を使用することになります。[環境オプション]ダイアログで使用したい言語を指定します。

COM 開発のタイプライブラリでは,次の型を利用できます。オートメーション互換の列は,Automation フラグまたは Dispinterface フラグにチェックマークが付いているインターフェースがその型を使用できるかどうかを表します。これらは,COM がタイプライブラリを介して自動的にマーシャルできる型です。


Delphi の型 IDL の型 バリアントの型 オートメーション互換 説明

Smallint

short

VT_I2

はい

符号付き 2 バイト整数

Integer

long

VT_I4

はい

符号付き 4 バイト整数

Single

single

VT_R4

はい

4 バイト実数

Double

double

VT_R8

はい

8 バイト実数

Currency

CURRENCY

VT_CY

はい

通貨

TDateTime

DATE

VT_DATE

はい

日付

WideString

BSTR

VT_BSTR

はい

バイナリ文字列

IDispatch

IDispatch

VT_DISPATCH

はい

IDispatch インターフェースへのポインタ

SCODE

SCODE

VT_ERROR

はい

OLE エラーコード

WordBool

VARIANT_BOOL

VT_BOOL

はい

True = -1,False = 0

OleVariant

VARIANT

VT_VARIANT

はい

OLE バリアント

IUnknown

IUnknown

VT_UNKNOWN

はい

IUnknown インターフェースへのポインタ

Shortint

byte

VT_I1

いいえ

符号付き 1 バイト整数

Byte

unsigned char

VT_UI1

はい

符号なし 1 バイト整数

Word

unsigned short

VT_UI2

はい*

符号なし 2 バイト整数

LongWord

unsigned long

VT_UI4

はい*

符号なし 4 バイト整数

Int64

__int64

VT_I8

いいえ

符号付き 8 バイト整数

Largeuint

uint64

VT_UI8

いいえ

符号なし 8 バイト整数

SYSINT

int

VT_INT

はい*

システム依存の整数(Win32 = Integer)

SYSUINT

unsigned int

VT_UINT

はい*

システム依存の符号なし整数

HResult

HRESULT

VT_HRESULT

いいえ

32 ビットエラーコード

Pointer

VT_PTR -> VT_VOID

いいえ

型なしポインタ

SafeArray

SAFEARRAY

VT_SAFEARRAY

いいえ

OLE の安全な配列

PAnsiChar

LPSTR

VT_LPSTR

いいえ

Char へのポインタ

PChar

LPWSTR

VT_LPWSTR

いいえ

WideChar へのポインタ

PWideChar

LPWSTR

VT_LPWSTR

いいえ

WideChar へのポインタ


メモ: Word,LongWord,SYSINT,および SYSUINT は一部のアプリケーションとはオートメーション互換の場合があります。

SAFEARRAY バリアント型については,「Safearrays」を参照してください。

メモ:  Byte (VT_UI1) はオートメーション互換ですが,多くのオートメーションサーバーはこの値を正しく処理しないので,Variant または OleVariant では使用できません。

これらの IDL 型のほかに,ライブラリに定義されているかまたは参照されるライブラリに定義されているインターフェースと型を,タイプライブラリ定義で使用できます。

タイプライブラリエディタは,型情報を,生成されたタイプライブラリ(.TLB)ファイルにバイナリ形式で保存します。

型のパラメータに Pointer 型を指定した場合,通常,タイプライブラリエディタはこの型を変数パラメータに変換します。タイプライブラリを保存するとき,変数パラメータの関連付けられた ElemDesc の IDL フラグには,IDL_FIN または IDL_FOUT といったマークが付けられます。

型の前に Pointer がある場合,たいてい ElemDesc IDL フラグに IDL_FIN または IDL_FOUT といったマークが付けられることはありません。また,ディスパッチインターフェースの場合,IDL フラグは一般に使用されません。このような場合,変数識別子の横に {IDL_None} や {IDL_In} のようなコメントが表示されることがあります。IDL フラグに正しくマークを付けるためにタイプライブラリを保存した場合,これらのコメントが使用されます。