Hi patcccc,
Here are two cents for you:
1.) Add all data entry field to the form interconnect DSTR of the form.
2.) Add a cFormCanceled_EV01 flag to the form interconnect DSTR of the form.
3.) Create Variables for all data entry field to store their values, where you call the form.
4.) Create a variable cFormCanceled_EV01, to catch return value.
5.) Initialize these variables accordingly your task.
6.) Call the form in a "While cFormCanceled_EV01 is equal to '1'" loop.
7.) Pass the variables for data entry fields as Input/Output parameteres, cFormCanceled_EV01 as output.
8.) In the Post Button clicked event of OK/Cancel assign value '0' and '1' to cFormCanceled_EV01 accordingly, further populate form interconnect aparameters from the data entry fields.
9.) In the called form, at initialization set the data entry fields from interconnect parameters if they do not populated automatically.
If my memory serves me well, Cancel button events are executed when you hit the cross button.
Please, let me know your results if you tried this "silly" solution.
Regards,
Zoltán