*!* Create Form handler to keep oForms in scope *!* No need to make this Public if it's in Main. DIMENSION gaForms(1) gaForms = []When you need to run a form:
= libRunFrm([frmMyForm])
And this goes in your code library:FUNCTION libRunFrm LPARAMETERS pcClassName LOCAL lnNewFormPosition, loNewForm, lnOldSelect lnOldSelect = SELECT() *!* Get the array position where we will add an object lnNewFormPosition = ALEN(gaForms, 1) + 1 *!* Add another form object to the array DIMENSION gaForms(lnNewFormPosition) gaForms(lnNewFormPosition) = CREATEOBJECT(pcClassName) SELECT (lnOldSelect) *!* Show the form gaForms(lnNewFormPosition).SHOW() ENDFUNC>At devcon, I learned a new way, to create forms, using classes, etc,