Frage

Wie greife ich auf eine Enum zu, die in einer COM -Schnittstelle definiert ist? Insbesondere habe ich eine neue Instanz einer iTunes.Application erstellt:

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

... und ich möchte in der Lage sein, bestimmte Aufzüge zu verwenden, die im COM definiert sind

iTunestrackcom.idl Dateireferenz
[...]
Aufzählungen
[...]

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

Ich habe es mit iTunesapp.itvideokindtvshow ausprobiert, aber das scheint nicht zu funktionieren.

Wie könnte ich alternativ das iTunesApp -Objekt interaktiv über eine Shell oder ähnliches herumwurzeln?

War es hilfreich?

Lösung

Sie können die Aufzählung nicht namentlich verwenden. Sie müssen nur die Konstanten verwenden: 0, 1, 2 ...

Es ist wirklich großartig, wenn Sie mit Bitfeldern zu tun haben. Sie müssen den Dezimalwert der Bit-Flag verwenden, z. B. die flags Parameter zu IhtmltXtrange :: findText ().

Andere Tipps

Sie können ein Tool wie TLB2Const verwenden, um Konstanten aus der Typelibation zu generieren.

Siehe meine Antwort hier:Ist es möglich, COM -Interop -Anrufern einen C# Enum auszusetzen, und wenn ja, wie?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top