IF THIS.VISIBLE THEN THIS.SHOW() ENDIF &&THIS.Visible>
>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 >>