You can have an array property for internal use but for outside world it wouldn't look or behave as an array. That's why it's better to declare it PRIVATE or HIDDEN in the COM class. You can create special methods in COM object to access/modify that array. Please read thread I mentioned carefully one more time. Here's also some sample code.
oObj = Createobject("mydll.VFPArray")
oObj.SetArray()
DIMENSION laList[5]
oObj.GetArray(@laList)
RETURN
DEFINE Class VFPArray As Custom OlePublic
DIMENSION aVar[1]
PROTECTED aVar
PROCEDURE GetArray(aRetVal)
EXTERNAL ARRAY aRetVal
LOCAL x
FOR x = 1 To Alen(This.aVar)
aRetVal[x] = This.aVar[x]
ENDFOR
ENDPROC
PROCEDURE SetArray()
LOCAL x
FOR x = 1 To Alen(This.aVar)
DIMENSION This.aVar[x]
This.aVar[x] = x
ENDFOR
ENDPROC
ENDDEFINE
>
>Thanks for the info.
>
>If we cannot have a array property in a COM Object then is there a workaround for it? How can we store multiple Object references in the COM Object?
>
>>See Thread #
461092 for explanation.
>>
--sb--