الوصول إلى العتاد في كائن COM [JScript
-
11-09-2019 - |
سؤال
كيف يمكنني الوصول إلى المعهد الذي يتم تعريفه داخل واجهة 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 للمتصلين عبر الإنترنت، وإذا كان الأمر كذلك، فكيف؟