Die übergabe von arrays als Parameter in VB6

Den folgenden code kills VB6 (sp6) mit einer "unbehandelte Ausnahme-Fehler in VB.exe' auf zwei Rechnern im Büro, auf der Linie markiert.

''# 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

Was ich sagen kann, auf verschiedenen websites bin ich ein array übergeben, richtig, aber bin ich es wirklich zu tun korrekt, und warum ist es verursacht Sie VB6, um zu sterben so schrecklich?

  • Gibt es eine Möglichkeit, anspielend auf den syntax-highlighter, was Sprache ist, ist es immer auf???
  • Sind Sie sicher, dass dieser code richtig ist? Der code innerhalb Class2.cls scheint das gleiche wie in Form1.frm. Ist das richtig?
  • Dieser code macht keinen Sinn. Wo ist ArrayHolder.Hinzufügen? Warum code in Class2.cls ist die gleiche wie in Form1.frm?
  • Ich fragte mich die gleiche Sache. Und ich Frage mich, ob es wirklich sogenannte "Class2", und wenn es ist, warum.
  • Sorry. Ausschneiden und einfügen schief gelaufen
  • Sieht aus wie es ist immer noch falsch. Class2.cls scheint immer noch die selbe wie Form1.cls.
  • OK, sieht jetzt besser 🙂
  • Ich würde gerne in der Lage sein zu befestigen, kleines zip-Dateien, die für postings...
  • Verschoben in die Eingabezeile des Todes. Es war richtig vor, aber in der falschen Datei. Einen schlechten Tag haben.
  • Ich sehe nicht ein Add-Methode wird in Class2.
  • Graham, ich glaube, Sie sollten akzeptieren, Eduardo Antwort.

InformationsquelleAutor graham.reeds | 2009-05-12
Schreibe einen Kommentar