में काम करते समय COM नियंत्रण को अनलोड करें मेरे रोजमर्रा के काम का हिस्सा विरासत वीबी 6 अनुप्रयोगों को बनाए रखना और विस्तार करना है। सी/सी ++ में एक आम इंजन लिखा जाता है और प्रदर्शन सुधारने के लिए वीबी 6 इन कार्यों का उपयोग करता है।वीबी 6 आईडीई
जब एसिंक्रोनस प्रोग्रामिंग की बात आती है, तो एक सी इंटरफ़ेस पर्याप्त नहीं होता है और हम वीबी 6 पर ईवेंट को आग लगाने के लिए COM नियंत्रण पर भरोसा करते हैं।
मेरी समस्या यह है कि जब मैं वीबी 6 में नियंत्रण पंजीकृत करता हूं, तो वीबी इस नियंत्रण को स्मृति में लोड करता है और जब तक मैं वीबी 6 आईडीई छोड़ नहीं जाता तब तक इसे अनलोड नहीं करता है। चूंकि नियंत्रण पूरे समय लोड हो जाता है, इसलिए मैं इसे वीसी 6 में पुन: संकलित करने में असमर्थ हूं, क्योंकि डीएलएल फ़ाइल लॉक है।
मुझे मिला एक समाधान वीबी में नियंत्रण सक्षम नहीं है, लेकिन मेरे नियंत्रण के पूर्ण नाम के साथ CreateObject()
का उपयोग करें। समस्या यह है कि मुझे अपने नियंत्रण को ऑब्जेक्ट के रूप में घोषित करना होगा क्योंकि वीबी 6 इंटरफ़ेस का उपयोग नहीं कर रहा है और मुझे इंटेलिसेन्स तक पहुंच नहीं है, जो दर्द है।
कोई विचार है कि मैं वीबी 6 को एप्लिकेशन छोड़ने या सीधे आईडीई में नियंत्रण के बाद नियंत्रण को उतारने के लिए कैसे कह सकता हूं?
यह बहुत स्मार्ट है, मैं ऐसा करने की कोशिश करूंगा। अब मुझे आश्चर्य है कि मेरे पुराने कुकी-आधारित खाते को मेरे नए ओपनआईडी-आधारित खाते से विलय किया जा सकता है, इसलिए मैं इस उत्तर को उत्तर के रूप में चिह्नित कर सकता हूं ... –
यह वीबी की तुलना में अन्य आईडीई के साथ भी काम करता है। मैंने इसे डेल्फी/वीबी 6 के साथ सफलतापूर्वक किया है। –