SafeArrays
タイプ ライブラリの操作:インデックス への移動
COM では,SafeArray として知られる特別なデータ型を介して配列が渡される必要があります。SafeArray を作成および破棄するには,それを実行する特別な COM 関数を呼び出します。このとき,SafeArray 内のすべての要素は有効でオートメーション互換の型でなければなりません。Delphi コンパイラは COM SafeArrays の情報を内蔵しており,自動的に COM API を呼び出して SafeArrays の作成,コピー,破棄を実行します。
タイプライブラリエディタでは,SafeArray が要素の型を指定しなければなりません。たとえば,テキストページにおける次の行は,要素の型が Integer でパラメータが SafeArray のメソッドを宣言しています。
procedure HighLightLines(Lines: SafeArray of Integer);
HRESULT _stdcall HighlightLines(SAFEARRAY(long) Lines);
メモ: タイプライブラリエディタで SafeArray 型を宣言するときに要素の型を指定しなければなりませんが,生成された _TLB ユニット内の宣言は要素の型を示しません。