質問

COM インターフェイス内で定義された列挙型にアクセスするにはどうすればよいですか?具体的には、iTunes.Application の新しいインスタンスを作成しました。

var   iTunesApp = WScript.CreateObject("iTunes.Application");

...COM内で定義された特定の列挙型を使用できるようにしたいです

iTunesTrackCOM.idl ファイルリファレンス
[...]
列挙
[...]

enum   ITVideoKind { 
   ITVideoKindNone = 0, 
   ITVideoKindMovie, 
   ITVideoKindMusicVideo, 
   ITVideoKindTVShow 
 }

iTunesApp.ITVideoKindTVShow を試してみましたが、うまくいかないようです。

あるいは、シェルなどを介して対話的に iTunesApp オブジェクトをルート化するにはどうすればよいでしょうか?

役に立ちましたか?

解決

あなたは名前で列挙型を使用することはできません。あなただけの定数を使用する必要があります:0、1、2 ...

あなたはビットフィールドを扱っているとき、

それは本当に素晴らしいです。あなたは、例えば、ビットフラグの10進値を使用する必要があります IHTMLTxtRangeにflagsパラメータ:: FINDTEXT()

他のヒント

tlb2const などのツールを使用して、typelib から定数を生成できます。

ここで私の答えを参照してください。C# Enum を COM Interop 呼び出し元に公開することは可能ですか? 公開できる場合、どのようにすればよいですか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top