سؤال

كيف يمكنني الوصول إلى المعهد الذي يتم تعريفه داخل واجهة COM؟ على وجه التحديد، قمت بإنشاء مثيل جديد من iTunes.Application:

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

... وأريد أن أكون قادرا على استخدام معينة عودة محددة داخل COM

مرجع ملف itunestrackcom.idl
[...]
العدادات
[...]

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

لقد جربت iTunesapp.itvideokindtvshow، ولكن هذا لا يبدو للعمل.

بدلا من ذلك، كيف يمكنني الجذر حول كائن ItunesApp تفاعلا عبر قذيفة أو شيء من هذا القبيل؟

هل كانت مفيدة؟

المحلول

لا يمكنك استخدام ENUM بالاسم. يجب عليك فقط استخدام الثوابت: 0، 1، 2 ...

إنه رائع حقا عندما تتعامل مع حقول بت. عليك استخدام القيمة العشرية للعلم بت، مثل flags المعلمة إلى ihtmltxtrange :: findtext ().

نصائح أخرى

يمكنك استخدام أداة مثل tlb2const لتوليد الثوابت من typelib.

انظر إجابتي هنا:هل من الممكن عرض C # Enum للمتصلين عبر الإنترنت، وإذا كان الأمر كذلك، فكيف؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top