मैं डेल्फी एक्सई का उपयोग कर रहा हूं। मैं डेल्फी साबुन का उपयोग कर मेमोरी लीक समस्या में आया हूं। यह पता चला होने के लिए TWSDLLookup.Destroy
में एक लापता नि: शुल्क कॉल की वजह से, QC 91160TWSDLLookup.Destroy विधि में डेल्फी एक्सई मेमोरी लीक
में वर्णित के रूप समस्या मेरे पास है कि है वर्णित काम के आसपास, जो केवल TWSDLLookup.Destroy
विधि के लिए FLookup.Free
जोड़ना है।
मैं डेल्फी स्रोत बदलने के लिए नहीं करना चाहते हैं, तो मैं के रूप में टॉम के जवाब में here वर्णित अपने प्रोजेक्ट फ़ोल्डर में इकाई को कॉपी, परिवर्तन और कंपाइल बनाने की कोशिश की,। इस तकनीक के साथ समस्या यह है कि यह स्पष्ट रूप से केवल तभी काम करता है यदि आप सभी निर्भर इकाइयों को फिर से संकलित करते हैं। मैंने अपनी प्रोजेक्ट निर्देशिका में केवल WSDLLookup.pas
की प्रतिलिपि बनाने का प्रयास किया है और मुझे स्टैक ओवरफ्लो त्रुटि मिलती है। मैं वेब सर्विसेज/एसओएपी से परिचित नहीं हूं इसलिए मुझे नहीं पता कि अगर मैं इस तकनीक का उपयोग करता हूं तो मुझे अन्य इकाइयों की प्रतिलिपि बनाना चाहिए। एक ही पृष्ठ पर
रोब कैनेडी के जवाब एक अलग कोड hooking शामिल तकनीक का वर्णन - लेकिन यह तरीकों पर आपत्ति करने के लिए लागू करने के लिए प्रतीत नहीं होता। मैंने ऐसा किया है क्योंकि वह टीएनटी यूनिकोड नियंत्रण के लिए मुफ्त कोड सुझाता है और डाउनलोड करता है और प्रासंगिक प्रक्रियाओं को स्थापित करता है, लेकिन मैं ऑब्जेक्ट के तरीकों को कैसे हुक करने के बारे में जानकारी नहीं ढूंढ पा रहा हूं - यदि वास्तव में यह संभव है। अगर मैं ऐसा कर सकता हूं, तो मैं TWSDLLookup.Destroy
को हुक करूंगा और FLookup.Free
कॉल जोड़ूंगा।
इसे ठीक करने के लिए कोई भी विचार बहुत सराहना की जाएगी। मैं एक नौसिखिया प्रोग्रामर का थोड़ा सा हूँ इसलिए मुझे उम्मीद है कि मैंने कुछ स्पष्ट याद किया है?
त्वरित जवाब :) –
के लिए धन्यवाद मुझे लगता है कि शायद डिबग dcus के उपयोग के लिए एक समस्या का कारण होता है के बारे में कुछ देखा - संभवतः यही कारण है कि मैं अपने ढेर अतिप्रवाह मिलता है। या शायद मेरे पास एक और बग है। –
वैसे भी, धन्यवाद फिर से। चूंकि यह काम करता है, मैं यह पता लगाने की कोशिश करूंगा कि मैं और क्या कर रहा हूं :) –