>Very slick. Thanks.
>
>P.S. You should post this as a FAQ.
Done!
PS: Did you figure out Ken Levy's BuilderB yet?
>
>>Define your object programmatically.
>>
>>DEFINE CLASS parameterobject AS custom
>>MyNumVal = 0
>>MyCharVal = ''
>>MyArray[5] = .f.
>>ENDDEFINE
>>
>>*
>>* Populate the parameter object's properties
>>*
>>oParam = CREATEOBJECT('parameterobject')
>>oParam.MyNumVal = 5
>>oParam.MyCharVal = 'Test string'
>>oParam.MyArray[2] = DATE()
>>oParam.MyArray[5] = 'samples'
>>*
>>* Now call your form with the object
>>*
>>DO MyForm WITH oParam
>>
>>MyForm:Init
>>LPARAMETER tobject
>>thisform.PObject = tobject
>>
>>Other methods:
>>thisform.Pobject.MyNumVal = 100
>>etc...
>>
>>
>>Your form's init event declares it is receiving the parameter and updates the values as needed. These updates can take place anywhere in your form if your form has a property to store the reference. Now, when you get back from your form, the parameter object has the updated values and you can do whatever you need to with them. Kind of like global variables, only better!