2013-04-01 5 views
6

ओपनजीएल के लिए win32 api का उपयोग करते समय एचडीसी और एचआरसी को हटाना आवश्यक है? मुझे लगता है कि Win32API खिड़की के बंद होने पर उन्हें नष्ट कर देगा?क्या एक प्रतिपादन संदर्भ को हटाना और डिवाइस संदर्भ को नष्ट करना आवश्यक है?

स्पष्टीकरण: एचआरसी एक एचजीएलआरसी वस्तु है।

+0

संभावित डुप्लिकेट http://stackoverflow.com/questions/6421287/windows-when-to-delete-object-and-device-context –

+0

क्या आपने डीसी बनाया था? या आप सिर्फ एक खिड़की पर GetDC करने के लिए किया था? –

उत्तर

7

क्या यह "आवश्यक" है? यदि खिड़की बंद करने के बाद आपकी प्रक्रिया स्वयं समाप्त हो जाती है, नहीं। विंडोज इन प्रकार के उत्कृष्ट हैंडल साफ़ कर देगा।

क्या आपको यह करना चाहिए? पूर्ण रूप से। आपको हमेशा अपने आवेदन में उपयोग की जाने वाली वस्तुओं को साफ करना चाहिए। ओएस के लिए साफ करने के लिए फर्श पर चीजों को छोड़ना अच्छा अभ्यास नहीं है। यदि इस तथ्य की तुलना में कोई अन्य कारण नहीं है कि आप पुराने को बंद करने के बाद एक नई विंडो बनाना चाहते हैं। इस मामले में, आपके पास यह कचरा एचजीएलआरसी बहुमूल्य संसाधनों को लेने के आसपास झूठ बोल रहा है।

0

आपको खिड़की बंद होने की तुलना में अन्य चीजों के बारे में चिंता करने की ज़रूरत है। उदाहरण के लिए, http://blogs.msdn.com/b/oldnewthing/archive/2013/03/06/10399678.aspx पढ़ें, जो कहता है कि किसी ऑब्जेक्ट का स्वामी इसे डीसी में चुनते समय हटा नहीं सकता है।

0

जितनी जल्दी हो सके एचडीसी रिलीज (हटाएं)। मैंने ओपनजीएल किया है, इसलिए मुझे पूरी तरह से पता नहीं है कि एचजीएलआरसी का क्या उपयोग किया जाता है, लेकिन मुझे संदेह है कि इसी तरह से संभाला जाता है। हैंडल प्राप्त करना सस्ता है; उन्हें पकड़ना समस्याग्रस्त हो सकता है।

संबंधित मुद्दे