CLEAR CLEAR ALL PUBLIC lof lof = CREATEOBJECT('form1') lof.SHOW() DEFINE CLASS form1 AS FORM DOCREATE = .T. AUTOCENTER = .T. CAPTION = "Form1" NAME = "Form1" ADD OBJECT command1 AS COMMANDBUTTON WITH ; TOP = 17, ; CAPTION = "ShowModal", ; NAME = "Command1" ADD OBJECT command2 AS COMMANDBUTTON WITH ; TOP = 75, ; CAPTION = "Kill", ; NAME = "Command2" PROCEDURE show_modal #DEFINE T_Object 'O' LPARAMETERS; toWindow AS FORM LOCAL; lnLeft_Old AS INTEGER,; lnTop_Old AS INTEGER,; lnOldWindowType AS INTEGER lnLeft_Old = THIS.LEFT lnTop_Old = THIS.TOP THIS.MOVE(0,0) IF toWindow.VISIBLE THEN toWindow.HIDE ENDIF &&toWindow.VISIBLE DOEVENTS lnOldWindowType = toWindow.WINDOWTYPE toWindow.WINDOWTYPE = 1 toWindow.SHOW(1) DOEVENTS IF VARTYPE(toWindow)=T_Object AND !ISNULL(toWindow) AND !toWindow.VISIBLE THEN toWindow.WINDOWTYPE = lnOldWindowType ENDIF &&VARTYPE(toWindow)=T_Object AND !ISNULL(toWindow) and !toWindow.VISIBLE THIS.MOVE(lnLeft_Old,lnTop_Old) IF THIS.VISIBLE THEN THIS.SHOW() ENDIF &&THIS.Visible ENDPROC &&form1.show_modal PROCEDURE INIT THIS.ADDPROPERTY('frmModal',CREATEOBJECT('Form2')) ENDPROC &&form1.INIT PROCEDURE command1.CLICK THISFORM.Show_Modal(THISFORM.frmModal) ENDPROC &&form1.command1.CLICK PROCEDURE command2.CLICK *just to kill if locked ::) THISFORM.frmModal.HIDE THISFORM.RELEASE ENDPROC &&form1.command2.CLICK ENDDEFINE &&form1 AS FORM DEFINE CLASS form2 AS FORM DOCREATE = .T. AUTOCENTER = .T. NAME = "Form2" ADD OBJECT combo1 AS COMBOBOX WITH ; TOP = 18, ; NAME = "Combo1" ADD OBJECT command1 AS COMMANDBUTTON WITH ; TOP = 78, ; CAPTION = "Hide", ; NAME = "Command1" PROCEDURE command1.CLICK THISFORM.HIDE ENDPROC &&form2.command1.CLICK ENDDEFINE &&form2 AS FORM>Hi Agnes,