有効な型
タイプ ライブラリでの作業:インデックス への移動
タイプライブラリエディタでは,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 フラグに正しくマークを付けるためにタイプライブラリを保存した場合,これらのコメントが使用されます。