define class cusReturn as custom dimension apropnames[1] apropnames[1] = (space(0)) npropnum = 0 procedure AddFieldProps lparameter tcfieldname, tufieldvalue if THIS.AddProperty(tcfieldname, tufieldvalue) then if empty(THIS.apropnames[1]) then THIS.apropnames[1] = tcfieldname else local narrlen narrlen = THIS.npropnum+1 dimension THIS.apropnames[narrlen] THIS.apropnames[narrlen] = tcfieldname endif endif endproc procedure npropnum_access return alen(THIS.apropnames,1) endproc enddefineOn the outside, you could access the array like this:
local lox, lcproperty, luvalue lox = * get return object * for lxx = 1 to lox.npropnum lcproperty = 'lox.' + lox.apropnames[lxx] luvalue = evaluate(lcproperty) endforHTH.