1

VB6 コードには 2 つのプロパティがあります。

Public Property Get PropFileID() As Long
    PropFileID = m_FileID
End Property

Public Property Get PropFileIDArray() As Long()
    PropFileIDArray = m_FileIDArray
End Property

デバッグ中に、最初のプロパティ (PropFileID) にエラーなしで値が割り当てられていることがわかります。m_FileID には値があり、Get アクセサーを通過した後、PropFileID は同じ値を取得します。

2 番目のプロパティ (PropFileIDArray) をデバッグしているときに、m_FileIDArray に有効な配列値があることがわかります。ただし、Get アクセサーを通過した後、PropFileIDArray は空のままです。

構文に何らかのエラーがありますか?

どんな提案でも大歓迎です

4

1 に答える 1

0

クラスコードは問題ないようです。たぶん、消費部分に何か問題がありますか?これが私のために働く例です:

'クラス1

Private m_FileIDArray(2) As Long

Public Sub SetValues()
    m_FileIDArray(0) = 0
    m_FileIDArray(1) = 1
    m_FileIDArray(2) = 2
End Sub

Public Property Get PropFileIDArray() As Long()
    PropFileIDArray = m_FileIDArray
End Property

'形

Private Sub Form_Load()
    Dim class1 As class1

    Set class1 = New class1

    class1.SetValues

    Dim pa As Variant

    pa = class1.PropFileIDArray

    MsgBox pa(0)
    MsgBox pa(1)
    MsgBox pa(2)

    Set class1 = Nothing
End Sub
于 2013-07-10T13:56:54.740 に答える