lcADSIObj = "WinNT://mymachine/me" ouser = getobject(lcADSIObj) lcschema = ouser.Schema oschema = getobject(lcschema) if vartype(ouser) = "O" then * check to make sure the array property is not empty * TYPE() returns 'A' for non-empty COM arrays (from observation) if type("oSchema.MandatoryProperties") = "A" then for each oProperty in oSchema.MandatoryProperties ? oProperty + " - " + transform(ouser.get(oProperty)) endfor endif endifIs this C++ thing again? Do you think it's a prblem with the documentation or a problem with te Type() function itself.