PUBLIC poMyForm poMyForm = CREATEOBJECT("myform") poMyForm.VISIBLE = .T. DEFINE CLASS myform2 AS FORM AUTOCENTER = .T. ALLOWOUTPUT = .F. goParent = .NULL. PROCEDURE ACTIVATE ?this.Caption+' activated' ENDPROC PROCEDURE DEACTIVATE ?this.Caption+' deactivated' THIS.goParent.GET_RESULT('Value sent') ENDPROC PROCEDURE INIT LPARAMETERS; toParent THIS.goParent = toParent ENDPROC ENDDEFINE DEFINE CLASS myform AS FORM DOCREATE = .T. CAPTION = "Form" NAME = "myform" LEFT = 100 oform = .NULL. ALLOWOUTPUT = .F. ADD OBJECT command1 AS COMMANDBUTTON WITH ; TOP = 18, ; LEFT = 29, ; HEIGHT = 34, ; WIDTH = 87, ; CAPTION = "Start Form", ; NAME = "Command1" ADD OBJECT label1 AS LABEL WITH ; CAPTION = "Start form", ; HEIGHT = 27, ; LEFT = 40, ; TOP = 104, ; WIDTH = 90, ; NAME = "Label1" PROCEDURE GET_RESULT LPARAMETERS; tcResult THIS.label1.CAPTION = tcResult THISFORM.oform = .NULL. ENDPROC PROCEDURE command1.CLICK IF ISNULL(THISFORM.oform) THEN THISFORM.oform = CREATEOBJECT("myform2",THISFORM) THISFORM.oform.VISIBLE = .T. THISFORM.label1.CAPTION = "wait for result" ENDIF &&ISNULL(THISFORM.oform) ENDPROC PROCEDURE ACTIVATE ?this.Caption+' activated' ENDPROC PROCEDURE DEACTIVATE ?this.Caption+' deactivated' ENDPROC PROCEDURE QUERYUNLOAD THIS.oform = .NULL. ENDPROC ENDDEFINE