Доступ к перечислениям в COM-объекте [jscript]

Как получить доступ к перечислению, определенному в интерфейсе COM? В частности, я создал новый экземпляр iTunes.Application:

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

... и я хочу иметь возможность использовать определенные перечисления, определенные в COM

Ссылка на файл iTunesTrackCOM.idl
[...]
Перечисления
[...]

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

Я пробовал iTunesApp.ITVideoKindTVShow, но, похоже, это не работает.

В качестве альтернативы, как я могу получить root-доступ к объекту iTunesApp в интерактивном режиме через оболочку или что-то подобное?

2 ответа

Решение

Вы не можете использовать перечисление по имени. Вы должны просто использовать константы: 0, 1, 2...

Это действительно здорово, когда вы имеете дело с битовыми полями. Вы должны использовать десятичное значение битового флага, например, flags параметр для IHTMLTxtRange:: findText ().

Вы можете использовать инструмент типа tlb2const для генерации констант из библиотеки типов.

Смотрите мой ответ здесь: возможно ли выставить C# Enum для вызывающих COM Interop, и если да, то как?

Другие вопросы по тегам