C++で記述された既存のアプリケーションにCOMインターフェイスを実装しています。COMインターフェイスは、VBScriptからアプリケーションを自動化するために使用されます。
COMインターフェイスを介して呼び出したいメソッドの1つに、C++ではenum
型を持つパラメーターがあります。enum
IDLファイルで対応するタイプを定義しoleview
、値が登録されていることを示しています。
// Copied from type library viewer
typedef enum
{
MyValueA = 0,
MyValueB = 1,
MyValueC = 2
} MyEnum;
ただし、これらの値の1つをVBScriptに渡すと、CPP実装によって受信される値は常に0になります。正しいVBScript構文を使用していないと思います。整数値を渡すことは直接機能し、ランダムなもの(のようなghfitgr
)を渡すことも0になります。これは、おそらく何が起こっているかMyValueB
などです。
enum.member
使用する必要のあるクレームを見つけました。これはですがMyEnum.MyValue
、構文エラー(object required: MyEnum
)が発生します。私は何が間違っているのですか?