One alternative is to pass an object reference to the form you are calling, then use this object reference to set properties or launch methods in the calling form.
For example:
Calling code:
Do form NonModelForm with thisform
Init method of form that is being called:
parameters oCallingForm
thisform.oCallingForm = oCallingForm
Now anywhere inside of your form you can reference the calling form easily...
Example:
thisform.oCallingForm.UpdateForm()
Of course you can use this to pass an array or any other data type to a method in the calling form.
I've found this design very flexible in updating forms and passing complex data back and forth without parameters or global variables.
Greg
>if you want to return a value from your form you have to do modal your form even you don't return array. So you can declare your array before form and use it in form and after form without any describtion.