2010-05-10 12 views
5

यदि मैं वीबी 6 प्रोजेक्ट में टाइप लाइब्रेरी का उपयोग करता हूं तो क्या मुझे लक्ष्य कंप्यूटर पर संकलित एक्सई के साथ .tlb फ़ाइल (और शायद इसे पंजीकृत भी करें?) वितरित करने की आवश्यकता है?यदि मैं एक वीबी 6 प्रोजेक्ट में टाइप लाइब्रेरी (.tlb) का उपयोग करता हूं, तो क्या मुझे इसे .exe से वितरित करने की आवश्यकता है?

उत्तर

0

नहीं, आप नहीं करते हैं। यह केवल संकलन समय पर प्रयोग किया जाता है।

0

केवल अगर आप बहु-थ्रेडिंग का उपयोग कर रहे हैं, यानी CoMarshalInterThreadInterfaceInStream आदि कार्यों के साथ ActiveX EXEs या इन-प्रो।

1

नहीं, आमतौर पर यह केवल तभी आवश्यक है जब आप वास्तव में कोड लाइब्रेरी से प्रकारों का उपयोग करने का प्रयास करते हैं। मुझे कुछ अपवाद मिल गए हैं, जिसमें टाइप लाइब्रेरी से आयाम चर के प्रकारों का उपयोग करना शामिल है। मुझे लगता है कि यह ऐसा कुछ था ...

टाइप लाइब्रेरी का मानना ​​एक संरचना ए परिभाषित करता है, और आपके ऐप में इस तरह की एक प्रक्रिया होती है। यदि प्रकार लाइब्रेरी पंजीकृत नहीं है तो आपका ऐप शुरू नहीं हो सकता है - एक त्रुटि संदेश प्रदर्शित होता है।

Sub testSub1(ByRef mybadarray() As A) 

लेकिन यह होगा ठीक

Sub testSub2() 
    Dim ok As A ' OK provided you never actually Call testSub2 at runtime ' 
+0

मैं अस्पष्ट हूं कि "कोड किस प्रकार का उपयोग करता है"। तो यदि मैं TYPE के रूप में एक चर को डीआईएम या उस चर को एक मान पर सेट करता हूं, तो क्या इस प्रकार का उपयोग "माना जाता है"? और उस स्थिति में, क्या मुझे .tlb वितरित करने की आवश्यकता है? –

+0

http://stackoverflow.com/users/15639/markj अगर मैं उपरोक्त प्रश्न पर कुछ स्पष्टीकरण प्राप्त कर सकता हूं, तो मैं आपके उत्तर को स्वीकृत कर सकता हूं। धन्यवाद! –

0

मेरे अनुभव में, मैं हमेशा .tlb पंजीकरण सहित .EXE के साथ फ़ाइल वितरित, यह मेरे मदद की "रन जैसे कई चलाते समय त्रुटियों को रोकने के -टाइम त्रुटि '42 9': ActiveX घटक ऑब्जेक्ट नहीं बना सकता "।