COM ऑब्जेक्ट्स में आमतौर पर निर्धारक विनाश होता है: अंतिम संदर्भ जारी होने पर उन्हें मुक्त किया जाता है।सी # + COM इंटरऑप, निर्धारिती रिलीज
यह सी # - COM इंटरऑप में कैसे संभाला जाता है? कक्षाएं IDisposable
लागू नहीं करती हैं, इसलिए मुझे एक स्पष्ट IU अज्ञात :: रिलीज़ को ट्रिगर करने का कोई तरीका नहीं दिखता है।
एक आकस्मिक परीक्षण से पता चलता है कि असुरक्षित COM ऑब्जेक्ट्स आलसी एकत्रित हो जाते हैं (यानी कचरा कलेक्टर रिलीज को ट्रिगर कर रहा है)। ओसीएम ऑब्जेक्ट्स के लिए मुझे क्या करना चाहिए जिसे अपग्रेड करने की आवश्यकता है? (उदाहरण के लिए बड़े या साझा महत्वपूर्ण संसाधनों को पकड़ना)?
मूल समस्या: हमारे पास एक COM लाइब्रेरी का उपयोग करके सी # अनुप्रयोग भारी है, और यह पागल की तरह लीक हो रहा है। ऐसा लगता है कि समस्याएं सी ++ और सी # कोड "के बीच" हैं (हमारे पास दोनों तक पहुंच है), लेकिन हम इसे कम नहीं कर सकते हैं।
+1, क्योंकि इस बचाया मेरी जिंदगी एक बार से अधिक: एक एकल रिलीज की इजाजत दी -
यहाँ एक विकल्प
Expression
पेड़ का उपयोग करता है हमारे इरादे चर्चा करने के लिए, प्रत्येक नोड में मूल्य पर कब्जा है। – OregonGhost