>LPARAMETERS oCallingForm > >* Reset enable/disable of controls when active form changes >IF VARTYPE(goApp) = "O" AND PEMSTATUS(goApp, "ClearActiveForm", 5) > * Disconnect from old form > BINDEVENT(goApp, "ClearActiveForm", This,"UnbindActiveForm",1) >ENDIF >IF VARTYPE(goApp) = "O" AND PEMSTATUS(goApp, "SetActiveForm", 5) > * Connect to new form > BINDEVENT(goApp, "SetActiveForm", This,"BindToActiveForm",1) >ENDIF > >* Bind to current form >IF VARTYPE(m.oCallingForm) = "O" AND NOT ISNULL(m.oCallingForm) > This.BindToActiveForm(m.oCallingForm) >ENDIF > > >>
>LPARAMETERS oForm > >* Bind updating of controls to updating on active form >DEBUGOUT PROGRAM() >DEBUGOUT "goApp.oActiveForm = ", IIF(not ISNULL(goApp.oActiveForm), goApp.oActiveForm.Name, "null") > >DO CASE >CASE VARTYPE(m.oForm) = "O" AND NOT ISNULL(m.oForm) > DEBUGOUT "Binding form ", m.oForm.Name > BINDEVENT(m.oForm, "UpdateEnabled", This, "UpdateEnabled", 1) > >CASE VARTYPE(goApp) = "O" AND VARTYPE(goApp.oActiveForm) = "O" AND ; > NOT ISNULL(goApp.oActiveForm) AND ; > PEMSTATUS(goApp.oActiveForm, "UpdateEnabled", 5) > DEBUGOUT "Binding form ", goApp.oActiveForm.Name > DEBUGOUT "Ready to check members" > IF VARTYPE(goApp) = "O" AND VARTYPE(goApp.oActiveForm) = "O" > DEBUGOUT "Form is ", goApp.oActiveForm.Name > DEBUGOUT "Checking members" > LOCAL aOFM[1] > nCount = AMEMBERS(aOFM, goApp.oActiveForm, 1) > DEBUGOUT nCount, " members found" > ELSE > DEBUGOUT "Can't check members" > ENDIF > DEBUGOUT "Checked members" > BINDEVENT(goApp.oActiveForm, "UpdateEnabled", This, "UpdateEnabled", 1) > >OTHERWISE > DEBUGOUT "No binding" >ENDCASE >>