Hello, William
FPW: HIDE WINDOW myscreen1
VFP: myscreen1.Visible=.F.
FPW: DO SCREEN myscreen2
VFP: DO FORM myscreen2 (ensure myscreen2.Modal=.T.)
FPW: do stuff with the information I got from myscreen2
VFP: In btnOK.click event do stuff
FPW: terminate myscreen2 with "terminate screen on selection"
VFP: In btnOk.click - ThisForm.Release
FPW: take the stuff from myscreen2 and do things to myscreen1
VFP: If stuff is stored in public variables, take stuff, else you must run myscreen2 with parameters.
So: In myscreen1: DO FORM myscreen2 with par1,par2,...,parn (n=1..27)
In myscreen2 (make sure this form is modal!) in Init Event firstline must be: PARAMETERS par1,par2,...,parn. Myscreen2 does some stuff, then in Unload event last line must be: RETURN par where par is a parameter. In Myscreen1 you get the parameter after DO FORM myscreen1. If myscreen2 must return more than one parameter, you can use an array of parameters or public variables. Important: RETURN can return only one parameter!
FPW: SHOW WINDOW myscreen1
VFP: myscreen1.visible=.T.
Grigore Dolghin
Class Software.