C++で記述された既存のアプリケーションにCOMインターフェイスを実装しています。COMインターフェイスは、VBScriptからアプリケーションを自動化するために使用されます。
COMインターフェイスを介して呼び出したいメソッドの1つに、C++ではenum型を持つパラメーターがあります。enumIDLファイルで対応するタイプを定義し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)が発生します。私は何が間違っているのですか?