में पैरामीटर के रूप में पासिंग सरणी निम्नलिखित कोड VB6 (sp6) को चिह्नित किया गया है, जो लाइन पर कार्यालय में दो मशीनों पर 'VB.exe में अनचाहे अपवाद गलती' के साथ मारता है।वीबी 6
''# Form1.frm
Option Explicit
Private ArrayHolder As Class2
Private Sub Command1_Click()
Set ArrayHolder = New Class2
Dim arr(3) As Long
arr(0) = 1
arr(1) = 2
arr(2) = 3
ArrayHolder.Add arr
End Sub
''# -----------------------------------------------------------
''# Class1.cls
Option Explicit
Private m_myArray() As Long
Public Property Get myArray() As Long()
myArray = m_myArray
End Property
Friend Property Let myArray(ByRef anArray() As Long)
m_myArray = anArray
End Property
''# -----------------------------------------------------------
''# Class2.cls
Option Explicit
Friend Function Add(newArray() As Long) As Class1
Dim oClass As Class1
Set oClass = New Class1
oClass.myArray = newArray <- This kills VB6 dead
MsgBox "passed"
End Function
क्या मैं विभिन्न वेबसाइटों पर बता सकते हैं मैं एक सरणी सही ढंग से गुजर रहा हूँ, लेकिन मैं वास्तव में इसे सही ढंग से कर रहा हूँ से
, और क्यों यह VB6 तो बुरी तरह मरने के लिए खड़ी कर रहा है?
क्या सिंटैक्स हाइलाइटर को संकेत देने का कोई तरीका है कि यह कौन सी भाषा हो रही है? –
क्या आप वाकई यह कोड सही हैं? Class2.cls के भीतर कोड Form1.frm जैसा ही प्रतीत होता है। क्या ये सही है? –
यह कोड समझ में नहीं आता है। ArrayHolder कहां है। जोड़ें? Class2.cls में कोड Form1.frm जैसा क्यों है? – GSerg