>Thanks. Is that something like the following?
>Public array myarray[5,5]
Nope - this does not involve creating a PUBLIC array.
>do form with thisform
>
>*in the new form
>In the init
>
>thisform.passed_array = thisform.myarray
>
>John
In the new form:
In the basic form DEFINE, implemented at Load:
oPassedObject = NULL
In the Init:
LPARAMETER oParmObject
thisform.oPassedObject = oParmObject
anywhere in the form, you reference the parameter object as thisform.oPassedObject.MyArray[] whenever need - it can be resized, have values read and written, etc.
To call it:
oObjToPass = CREATEOBJ('Line') && or whatever
oObjToPass.AddProperty('MyArray[5,5]') && whatever size is needed
*
* Populate the array member of oObjToPass as you like
*
DO Form
whatever WITH oObjToPass
This mechanism doesn't screw up as the public array would when >1 instance of the Form might exist, and doesn't break encapsulation or create any dependencies on the name of the array. It works with both modal and non=modal forms.