ArrayJScript配列をCOM(C++)で参照するちょっとした経緯で,JScriptから呼び出されるCOMをC++で実装することになりました。JScriptで扱う配列は,COMで通常扱うSafeArray配列ではないということをことを知りました。"length"と配列インデックス("0","1","2",...)をメソッドとして持つIDispatchインターフェースとして渡されているようです。このインターフェース(JScript配列)をCOM内部で取り扱う形式に変換する処理を作成してみましたので,ここで紹介します。最初にIDispatchインターフェースを介して"name"で指定したプロパティ値を取得するメソッドを用意します。CComVariant(var);}このメソッドを使って,JScript配列の要素数を取得します。要素数は,プロパティ"length"から取り出せる整数値(VT_I4)です。length.intVal;}要素数を参照して,配列の内容を取得するメソッドを作成します。配列値はVariantで格納されているので,CComVariant配列(Vector)として取得しています。result;}後は取得したVariant配列の各要素を,所定の型の値として参照すればOKです。Designplate。