वीबी 6 आईडीई में काम करते समय COM नियंत्रण को अनलोड करें

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

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

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

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

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

0
जोड़ा संपादित
विचारों: 1

3 उत्तर

अधिकांश भाग के लिए यह वही गेम है जो अद्यतन ग्राफिक्स के साथ अन्य उत्तर कहता है, लेकिन वास्तव में कुछ अलग अंतर हैं।

मूल गेम में कुछ स्तरों पर कुछ एंटी-गुरुत्वाकर्षण प्रभाव थे जो एचडी संस्करण में नहीं थे।


दो खेलों के बीच मामूली रहस्य अंतर भी हैं। जब मैंने मूल रूप से बाहर निकला, तो गंभीर सैम के लिए मैंने एक रहस्य पूछे जाने वाले प्रश्न लिखा, और गंभीर सैम एचडी के लिए इसे अपडेट करते समय मैंने कुछ बदलावों को देखा जो मैं नीचे सूचीबद्ध करूंगा:

  • रेत घाटी के स्तर पर, गेम इंजन में बदलाव ने इसे बहुत बनाया है कुछ रहस्यों को चलाने के लिए आसान है जो कुछ की आवश्यकता होती है मुश्किल कूदना इतना इतना है कि अगर आप खेल के इतिहास को नहीं जानते थे, आपको शायद आश्चर्य होगा कि वे "गुप्त" के रूप में क्यों गिने जाते हैं क्योंकि वे अंदर हैं सादा दृष्टि।

  • ड्यून स्तर पर एक अतिरिक्त रहस्य है।

  • अंतिम स्तर पर, ग्रेट पिरामिड, मूल गेम में नहीं था रहस्य। इस स्तर पर एचडी संस्करण में 3 रहस्य हैं।

3
जोड़ा

From http://en.wikipedia.org/wiki/Serious_Sam#Serious_Sam_HD:_The_First_Encounter

गेम गंभीर सैम का रीमेक है:   सुधार के साथ पहला मुठभेड़   बनावट और चरित्र मॉडल। यह   1200 माइक्रोसॉफ्ट अंक या के लिए retails   यूएस $ 15 (पीसी संस्करण के लिए $ 15 भी)   और 16-प्लेयर ऑनलाइन सह-सेशन का समर्थन करता है   (एक्सबीएलए संस्करण में 4-खिलाड़ी)। इस   रीमेक फीचर्स उपलब्धियां। [5] [6]   डेथमैच और समर्पित सर्वर   समर्थन हाल ही में जोड़ा गया है।

मैंने वास्तव में दोनों एचडी संस्करण खरीदे क्योंकि मेरे पिछले लोगों का स्वामित्व नहीं था लेकिन उन्हें दोस्तों पर खेला।

Kr,

2
जोड़ा
@ साइनी स्टीम-आधारित (= बेहतर) मिलमेकिंग भी है।
जोड़ा लेखक Jax, स्रोत
तो यह वास्तव में सिर्फ बेहतर बनावट है, अन्यथा खेल-खेल और स्तर समान हैं?
जोड़ा लेखक Synetech, स्रोत
हुह; क्या मिल रहा है? मुझे पहले दो एसएस गेम में मिलमेकिंग नामक कुछ भी याद नहीं है।
जोड़ा लेखक Synetech, स्रोत

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

यहां मैं क्या करता हूं ... दृश्य सी और विजुअल बेसिक साइड-साइड चलाने के बजाए, वीबी 6 के अंतर्गत वीसी चलाएं:

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

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

  • आप COM ऑब्जेक्ट में ब्रेकपॉइंट्स सेट कर सकते हैं और इसे पूर्ण स्रोत डीबगर
  • का उपयोग करके डीबग कर सकते हैं
  • आप एक ही समय में सी और वीबी में खुशी से डीबग कर सकते हैं
  • जब भी वीबी 6 चल रहा है, तो हमेशा COM DLLs का नवीनतम संस्करण
  • है
0
जोड़ा
यह बहुत स्मार्ट है, मैं ऐसा करने की कोशिश करूंगा। अब मुझे आश्चर्य है कि क्या मेरे पुराने कुकी-आधारित खाते को मेरे नए ओपनआईडी-आधारित खाते में विलय किया जा सकता है, इसलिए मैं इस उत्तर को उत्तर के रूप में चिह्नित कर सकता हूं ...
जोड़ा लेखक Vincent Robert, स्रोत
यह वीबी की तुलना में अन्य आईडीई के साथ भी काम करता है। मैंने इसे डेल्फी / वीबी 6 के साथ सफलतापूर्वक किया है।
जोड़ा लेखक Daniel Rikowski, स्रोत