Pregunta

¿Cómo accedo a una enumeración que se define dentro de una interfaz COM? En concreto, he creado una nueva instancia de un iTunes.Application:

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

... y yo quiero ser capaz de utilizar ciertos enumeraciones definidas dentro del COM

  

iTunesTrackCOM.idl archivo de referencia
  [...]
   Las enumeraciones
  [...]

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

He intentado iTunesApp.ITVideoKindTVShow, pero eso no parece funcionar.

Por otra parte, ¿cómo podría arraigar alrededor del objeto iTunesApp de forma interactiva a través de una concha o algo por el estilo?

¿Fue útil?

Solución

No se puede utilizar la enumeración por su nombre. Tienes que sólo tiene que utilizar las constantes: 0, 1, 2 ...

Es realmente impresionante cuando se trata con campos de bits. Usted tiene que utilizar el valor decimal de la bandera de bits, por ejemplo, el parámetro flags a IHTMLTxtRange :: FindText () .

Otros consejos

Puede utilizar una herramienta como tlb2const para generar constantes de la biblioteca de tipos.

Véase mi respuesta aquí: ¿es posible exponer un C # enumeración de las personas que llaman de interoperabilidad COM, y si es así, ¿cómo?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top