سؤال

أنا كائن COM مكتوبة باستخدام MS ATL المكتبة.أعلن مجموعة من التعدادات في IDL لكنها لا تظهر عند عرض نوع المكتبة باستخدام MS كائن COM أداة عارض.ويبدو أن المشكلة تكون في عداد المفقودين enums ليست في الواقع تستخدم المعلمات من قبل أي من COM الطرق - كيف يمكنني أن قوة هذه enums أن تظهر ؟

على سبيل المثال ، في IDL:

// Used by Foo method, so appears in the type library
typedef enum FOO
{
    FOO_1,
    FOO_2,
} FOO;

// Not used by any method, so won't appear in the type library
typedef enum BAR
{
    BAR_1,
    BAR_2,
} BAR;

[id(1)] HRESULT Foo([in] FOO eFoo);

على الرغم من enums في السؤال لا تستخدم مباشرة من قبل أي طرق, أنها سوف لا يزال يكون من المفيد لأي شخص باستخدام كائن ولكن لا أستطيع الحصول عليها إلى التصدير.

وقد أي شخص ينظر إلى هذا من قبل ؟

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

المحلول

هل وضعت لهم في library قسم IDL?فقط من الأنواع المذكورة في library قسم يذهب إلى TLB.

library MyLib {
    // ...
    enum BAR;
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top