l'accès énumérations dans un objet COM [JScript]
-
11-09-2019 - |
Question
Comment accéder un ENUM qui est définie dans une interface COM? Plus précisément, j'ai créé une nouvelle instance d'un iTunes.Application:
var iTunesApp = WScript.CreateObject("iTunes.Application");
... et je veux être en mesure d'utiliser certaines énumérations définies dans le COM
iTunesTrackCOM.idl Référence du dossier [...]
énumérations [...]
enum ITVideoKind {
ITVideoKindNone = 0,
ITVideoKindMovie,
ITVideoKindMusicVideo,
ITVideoKindTVShow
}
J'ai essayé iTunesApp.ITVideoKindTVShow, mais cela ne semble pas fonctionner.
Sinon, comment pourrais-je la racine autour de l'objet iTunesApp interactive via un shell ou quelque chose comme ça?
La solution
Vous ne pouvez pas utiliser le ENUM par son nom. Vous devez simplement utiliser les constantes: 0, 1, 2 ...
Il est vraiment génial quand vous traitez avec champs de bits. Vous devez utiliser la valeur décimale du drapeau de bits, par exemple le paramètre flags
IHTMLTxtRange :: findText () .
Autres conseils
Vous pouvez utiliser un outil comme tlb2const pour générer des constantes de la typelib.
Voir ma réponse ici: