I am trying to create a class to store a variable number of elements (which themselves are an object of the class).
So I have class 2:
'Class 2 contain each individual quote elements (OTC and MRC)
Private pOTC As String
Private pMRC As String
Public Property Get OTC () As String
OTC = pOTC
End property
Public Property Let OTC (Value As String)
pOTC = Value
End property
Public Property Get MRC () As String
MRC = pMRC
End property
Public Property Let MRC (Value As String)
pMRC = Value
End property
Then class 1 contains an array of class 2:
Private pCurr As String
Private pQuote (20) As Class2
Public Property Get Curr () As String
Curr = pCurr
End property
Public Property Let Curr (Value As String)
pCurr = Value
End property
Public Property Set Quote (Index As Integer, cQuote As Class2)
Set pQuote (Index) = cQuote
End property
Public Property Get Quote (Index As Integer) As Class2
Quote = pQuote (Index)
End property
And I would like to do something like:
Dim myQuotes As Class1
Set myQuotes = New Class1
myQuotes.Curr = "GBP"
myQuotes.Quote (3) .OTC = "1200"
The first line setting myQuotes.Curr is not a problem, however, when I try to set the value inside the array, the following line errors with the variable Run-time 91 Object or With block variable not set
Any pointers to what I'm doing wrong, and how can I set values ββfor elements in an array of classes?
Thanks in advance!
source share