LPARAMETER oObject >>LOCAL oX, nIndex, nT, lFound >> >>FOR nIndex= 1 TO oObject.CONTROLCOUNT >> oX=oObject.CONTROLS[nIndex] >> >> DO CASE >> CASE oX.BASECLASS="Container" >> lFound=THISFORM.SetAddFocus(oX) >> >> CASE oX.BASECLASS="Pageframe" >> FOR nT=1 TO oX.PAGECOUNT >> IF THISFORM.SetAddFocus(oX.pages(nT)) >> oX.ActivePage=oX.Pages(nT).Pageorder >> lFound=.t. >> ENDIF >> ENDFOR >> >> CASE PEMSTATUS(oX,"SetFocusAtAdd",5) AND oX.SetFocusAtAdd >> oX.Setfocus >> lFound=.T. >> ENDCASE >> IF lFound >> EXIT >> ENDIF >>ENDFOR >>RETURN lFound>
>* Method SetAddFocus >LPARAMETER oRootObject >LOCAL loObject, lFound > >if Pemstatus(oRootObject, 'Objects', 5) > for each loObject in oRootObject.Objects > if PEMSTATUS(loObject,"SetFocusAtAdd", 5) AND vartype(loObject.SetFocusAtAdd)='L' and loObject.SetFocusAtAdd > try > loObject.Setfocus() > catch > * Do something with error > endtry > lFound =.T. > else > lFound = Thisform.SetAddFocus(loObject) > ENDIF > IF lFound > EXIT > ENDIF > ENDFOR >endif >RETURN lFoundYep this is one of the possibilities, however as I noted above the objects collection did not exist yet when I wrote the piece of code above.