2008-09-24 8 views
6

में प्रदर्शित नहीं है मेरे पास एमएस एटीएल लाइब्रेरी का उपयोग करके एक COM ऑब्जेक्ट लिखा गया है। मैंने आईडीएल में गणनाओं का एक गुच्छा घोषित कर दिया है लेकिन एमएस कॉम ऑब्जेक्ट व्यूअर टूल का उपयोग करते हुए टाइप लाइब्रेरी को देखते समय वे दिखाई नहीं देते हैं। समस्या यह प्रतीत होती है कि गायब enums वास्तव में किसी भी COM विधियों द्वारा पैरामीटर के रूप में उपयोग नहीं किया जाता है - मैं इन enums को प्रकट करने के लिए कैसे मजबूर कर सकते हैं?आईडीएल गणना टाइप लाइब्रेरी

उदाहरण के लिए

, आईडीएल में:

// 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 सीधे किसी भी तरीके से उपयोग नहीं किया जाता, वे अभी भी वस्तु का उपयोग कर किसी के लिए उपयोगी होगा, लेकिन मैं नहीं मिल सकता है उन्हें निर्यात करने के लिए।

क्या किसी ने इसे पहले देखा है?

उत्तर

13

क्या आपने उन्हें आईडीएल के library सेक्शन में रखा था? library अनुभाग में उल्लिखित केवल प्रकार टीएलबी में जाते हैं।

library MyLib { 
    // ... 
    enum BAR; 
+0

यह चाल है! धन्यवाद। – Rob

+0

सुनना अच्छा है। आप क्या जानते हैं, StackOverflow वास्तव में लोगों को सहायता खोजने में मदद करता है! : ओ) – Motti

+0

ग्रेट केवल उसी के लिए देख रहे हैं – thatsalok

संबंधित मुद्दे