acceder enumeraciones en un objeto COM [JScript]
-
11-09-2019 - |
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?
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?