In the COM Server, a 2 parameter array. First the property, second the element function COMGetProp lparameters vcPropName, vnElement */ test for valid object property and element if pemStatus( This, vcPropName, 5 ) */ Valid property... return that value return eval( "This." + vcPropName + "[" + allt( str( vnElement )) + "]" ) else */ property not found... return "invalid property/array value..." endif endfunc On the client side... */ Assume object goCOM is an instance of your COM server object dimension laLocalCopy[5] for lnI = 1 to 5 laLocalCopy[lnI] = goCOM.COMGetProp( "YourCOMArrayProp", lnI ) endforOf course, if you had a multi-dimensional array, you would have to alter the COMGetProp() method to accommodate, but at least this is a baseline approach you could try.