function ObjectIterate( roObject, pcFunction ) local loObject eval( pcFunction + "( roObject )" ) && breadth first if called here if ( pemstatus( roObject, "Objects", 5 ) ) for each loObject in roObject.Objects ObjectIterate( loObject, pcFunction ) endfor endif * eval( pcFunction + "( roObject )" ) && depth first if called here returnand it's easy to use with code like: