I am looking for any suggestions to the following issue.

I am working within an ActiveX DLL. I created a class called clsLinkedListNode. This class contains two private variables (Key and Value) and property procedures to access them.

A second class exists named clsLinkedList. This class contains a private array of 100 objects of type clsLinkedListNode declared as follows:
Private arrLinkedListNode(99) As New clsLinkedListNode
The procedure used to add a Node is as follows:
Public Sub subAdd(LobjLinkedListNode as clsLinkedListNode)
[some code]
arrLinkedListNode(LintCounter) = LobjLinkedListNode
[some code]
End Sub

The problem occurs when I try to call the subAdd procedure from an outside program. Using the code above, I receive the following error:
Error #438: Object doesn't support this property or method.
Debugging takes me to the follwing line:
arrLinkedListNode(LintCounter) = LobjLinkedListNode
The error can be fixed by making the line read:
Set arrLinkedListNode(LintCounter) = LobjLinkedListNode
The problem here is that this statement sets all objects in the array equal to the object passed in.

Is there an anwer to this issue? I know that arrays of objects has proven a sticky issue for a number of people. I am aware of the Collections object, but would prefer to do it with an array if possible. If not, I'll suck it up and do it via Collections.

All help is appreciated greatly.

Jay