से ऑब्जेक्ट्स की एक सरणी/सूची/संग्रह कैसे लौटा सकता हूं, मैं वीबी 6 एप्लिकेशन के लिए webservice पर प्रॉक्सी कॉल के लिए COM Visible C# ऑब्जेक्ट बना रहा हूं। मेरे पास एक तरीका है जो वस्तुओं की एक सरणी देता है।मैं सी # से VB6
public DocActionReport[] DocActionReportByDateRange(System.DateTime reportStartDate, System.DateTime reportEndDate)
{
object[] results = this.Invoke("DocActionReportByDateRange", new object[] {
reportStartDate,
reportEndDate});
return ((DocActionReport[])(results[0]));
}
जब मैं VB6 के माध्यम से इस विधि कॉल, इसलिए जैसे:
Dim proxy As New QueueMovementServiceClient.ReadQueueInfo
Dim report() As QueueMovementServiceClient.DocActionReport
report = proxy.DocActionReportByDateRange(startDate, reportEndDate)
यह सफलतापूर्वक कार्यान्वित (मुझे लगता है कि वेब सेवा पर प्रवेश के माध्यम से देख सकते हैं) लेकिन कोई डेटा VB6 में वस्तु में लौट आता है (एलबाउंड (रिपोर्ट) == 0, यूबाउंड (रिपोर्ट) == -1)।
मैंने कुछ अलग दृष्टिकोणों की कोशिश की है (एक विधि विधि को विधि बदलना और संग्रह को ref
पैरामीटर के रूप में पास करना) लेकिन अब तक कोई खुशी नहीं है।
वीबी 6 उपभोक्ता को ऑब्जेक्ट्स (सूची, संग्रह, जो भी) की एक सरणी वापस करने के लिए मुझे क्या करने की ज़रूरत है?
क्या वीबी पक्ष में एक प्रकार की लाइब्रेरी है जिसमें डॉकएक्शन रिपोर्ट शामिल है? वीबी पक्ष पर प्राप्त प्रकार क्या है (TypeName का उपयोग करें)? क्या आपने इसे कॉल किए बिना अपने स्वयं के संगत डेटा का उपयोग करके एक रेपो बनाया है। इन्वोक()? –
अपने सवालों के जवाब देने के लिए: हाँ, DocActionReport टाइप लाइब्रेरी के भीतर मौजूद है। लौटा प्रकार "ऑब्जेक्ट()" है हालांकि ऑब्जेक्ट व्यूअर इसे "DocActionReport()" के रूप में सही तरीके से सूचीबद्ध करता है। मेरे पास डीएलएल का परीक्षण करने और परिणामों की पुष्टि करने के लिए एक .NET क्लाइंट है और यह अपेक्षित के रूप में कार्य करता है। –
क्या आप वाकई सरणी खाली नहीं हैं? मैं आपकी समस्या का पुनरुत्पादन नहीं कर सका। (क्या आप अभी भी इस देर की तारीख में इस प्रश्न की परवाह करते हैं?) –