VB6 IDE में काम करते समय COM कंट्रोल को अनलोड करें

Translate

मेरे रोजमर्रा के काम का हिस्सा विरासत में वीबी 6 अनुप्रयोगों को बनाए रखना और बढ़ाना है। एक सामान्य इंजन C / C ++ में लिखा गया है और VB6 प्रदर्शन को बेहतर बनाने के लिए इन कार्यों का उपयोग करता है।

जब अतुल्यकालिक प्रोग्रामिंग की बात आती है, तो एक सी इंटरफ़ेस पर्याप्त नहीं है और हम वीई 6 पर आग की घटनाओं के लिए COM नियंत्रणों पर भरोसा करते हैं।

मेरी समस्या यह है कि जब मैं VB6 में नियंत्रण पंजीकृत करता हूं, तो VB इस नियंत्रण को मेमोरी में लोड करता है और इसे तब तक अनलोड नहीं करता जब तक कि मैं VB6 IDE को छोड़ नहीं देता। चूंकि नियंत्रण पूरे समय भरा हुआ है, इसलिए मैं इसे वीसी 6 में फिर से स्थापित करने में असमर्थ हूं, क्योंकि डीएलएल फ़ाइल लॉक है।

एक समाधान जो मैंने पाया है वह वीबी में नियंत्रण को सक्षम करने के लिए नहीं है, लेकिन इसका उपयोग करेंCreateObject()मेरे नियंत्रण का पूरा नाम के साथ। तब समस्या यह है कि मुझे अपना नियंत्रण एक वस्तु के रूप में घोषित करना चाहिए क्योंकि VB6 को मेरे द्वारा उपयोग किए जा रहे इंटरफ़ेस के बारे में कुछ भी नहीं पता है और मेरे पास IntelliSense तक पहुंच नहीं है, जो एक दर्द है।

किसी भी विचार कैसे मैं आवेदन छोड़ने के बाद या सीधे आईडीई में वीबी 6 को अनलोड करने के लिए कह सकता हूं?

This question and all comments follow the "Attribution Required."

सभी उत्तर

Translate

मुझे पूरा यकीन है कि कंट्रोल को अनलोड करने के लिए वीबी 6 को मजबूर करने का कोई अच्छा तरीका नहीं है।

यहाँ मैं क्या कर रहा हूँ ... Visual C और Visual Basic साइड-बाय-साइड चलने के बजाय, VB6 चलाएँके अंतर्गतकुलपति:

  1. कुलपति का भार
  2. अपने COM ऑब्जेक्ट युक्त प्रोजेक्ट खोलें
  3. संपादित करें, बदलें, आदि।
  4. कुलपति में, VB6.EXE होने के लिए उचित कमांड लाइन तर्क के साथ VB6.EXE होने के लिए आउटपुट निष्पादन योग्य सेट करें
  5. अब VB6 IDE लॉन्च करने के लिए F5 को हिट करें और अपने VB6 प्रोजेक्ट को लोड करें
  6. जब आप COM कोड को फिर से बदलना चाहते हैं, तो VB6.EXE से बाहर निकलें, अपने बदलाव करें और F5 को फिर से हिट करें। जब तक आप अपने कार्यक्षेत्र को बचाते हैं VB6 याद रखेगा कि आपके पास कौन सी खिड़कियां खुली थीं और आपकी सभी परियोजना सेटिंग्स।

इस विधि के लाभ:

  • आप COM ऑब्जेक्ट में ब्रेकपॉइंट सेट कर सकते हैं और एक पूर्ण स्रोत डीबगर का उपयोग करके इसे डीबग कर सकते हैं
  • आप एक ही समय में सी और वीबी में खुशी से डिबग कर सकते हैं
  • जब भी VB6 चल रहा होता है, उसमें हमेशा COM DLL का नवीनतम संस्करण होता है
स्रोत