/ / टाइपिंग 'स्ट्रिंग' से टाइप 'स्ट्रिंग' में रूपांतरण मान्य नहीं है - vb.net, कास्टिंग, कॉम-ऑब्जेक्ट

'स्ट्रिंग' टाइप करने के लिए प्रकार 'स्ट्रिंग' से रूपांतरण मान्य नहीं है - vb.net, कास्टिंग, कॉम-ऑब्जेक्ट

मैं एक पुराने एक्सेल एडिन को पोर्ट करने की प्रक्रिया में हूँ जो VBA से VB .NET में रिटेन किया गया था। एक्सेल ऐडिन कई बाहरी कॉम ऑब्जेक्ट के साथ इंटरैक्ट करता है। कोड सॉर्ट इस तरह दिखता है:

Dim hurr as Object
Dim durr as String

hurr = CreateObject("COM Object")
durr = hurr.getString

मैं क्या करने की कोशिश कर रहा हूँ COM ऑब्जेक्ट से स्ट्रिंग को पढ़ा है और इसे अपने कार्यक्रम में बाद में उपयोग के लिए ड्यूर में प्राप्त करें।

पोस्ट किए गए अपवाद में दूसरी पंक्ति का परिणाम हैऊपर। अगर मैं CStr / CType के साथ कास्टिंग करने की कोशिश करता हूं तो मुझे वही अपवाद मिलता है। दृश्य स्टूडियो घड़ी खिड़की hurr.getString के प्रकार को "सिस्टम .__ ComObject" के रूप में रिपोर्ट करती है जबकि VBA घड़ी विंडो "वेरिएंट / ऑब्जेक्ट / स्ट्रिंग" के रूप में रिपोर्ट करती है। Microsoft.VisualBasic.Information.TypeName (hurr.getString) कहते हैं कि प्रकार "स्ट्रिंग" है। किसी भी विचार मैं इस काम के बारे में कैसे जाना चाहिए?

धन्यवाद!

उत्तर:

उत्तर № 1 के लिए 1

यह हास्यास्पद है लेकिन मुझे लगा कि मैं उत्तर को पूर्णता के लिए यहाँ पोस्ट करूँगा। इसका हल hurr.getString के अंत में ब्रैकेट की एक जोड़ी जोड़ना था

इसलिए काम कोड इस तरह दिखता है:

Dim hurr as Object
Dim durr as String

hurr = CreateObject("COM Object")
durr = hurr.getString()

उपरोक्त कोड ने मुझे कास्टिंग अपवाद दिया औरयहाँ काम करने के लिए कोष्ठक की आवश्यकता किस भी कारण से हो। मैं बस यह जोड़ना चाहता हूं कि देर से बाध्यकारी कॉम ऑब्जेक्ट्स के साथ काम करना भयानक है और इसे हर कीमत पर बचा जाना चाहिए।