एक एएस-कास्ट वास्तविक ऑब्जेक्ट प्रकार की जांच करता है ताकि यह सुनिश्चित किया जा सके कि कास्ट मान्य है, और यदि यह नहीं है तो अपवाद उठाता है। एक "हार्ड कास्ट" (TMyClass(MyObj)
शैली) जांच नहीं करता है, यह सिर्फ संकलक को यह मानने के लिए कहता है कि कलाकार मान्य है।
यदि आपको ऐसी स्थिति मिली है जहां क्लासनाम मैं सत्य लौटाता हूं लेकिन एएस-कास्ट विफल रहता है, तो इसका मतलब है कि आपके पास दो अलग-अलग इकाइयों में दो अलग-अलग इकाइयां हैं, और एएस-कास्ट गलत पर डालने की कोशिश कर रहा है एक। इसका यह भी अर्थ है कि आपकी हार्ड-कास्ट गलत पर कास्टिंग कर रही है, जो संभावित रूप से स्मृति भ्रष्टाचार का कारण बन सकती है।
"टीएमक्लास =" के लिए एक पूर्ण प्रोजेक्ट सर्च चलाएं, यह देखने के लिए कि आपकी कई घोषणाएं कहां हैं, या फिर कक्षाओं में से किसी एक का नाम बदलें या पूर्ण परिभाषा का उपयोग करें (ओबीजे MyUnit.TMyClass के रूप में) ताकि संकलक आपको पता चलेगा कि आप किस वर्ग ' फिर से करने की कोशिश कर रहे हैं।
स्रोत
2010-03-15 19:24:48
यह बहुत सारे टैग हैं। मुझे लगता है कि 'डेल्फी' पर्याप्त होगा। –
समस्या को इंगित करने के लिए धन्यवाद मैं केवल –
इंगित कर रहा था क्या आप डीएलएल का उपयोग करते हैं? डीएलएल गड़बड़ वर्ग पहचान। –