>>>>Hi Jay,
>>>>
>>>> How can I keep the other values gathered from Form2 in scope, or return them to Form1?
>>>>
>>>>Store them into properties of the form. Then, in the Unload event create an object based on the EMPTY() class and use ADDPROPERTY() to transfer all values to the object. Return this object or NULL instead of .T. and .F.
>>>
>>>A coworker also questioned this method due to possible memory leaks on the created object.
>>
>>Why would there be memory leaks? You have code like this:
>>
>>
>>LOCAL oReturn
>>
>>DO FORM Form2 TO m.oReturn
>>
>>* Do stuff with the return value
>>
>>RETURN
>>
>>
>>When the method ends, the object is released.
>>
>>Tamar
>
>What about the object created in the called form? When the RETURN is issued with that object sent to the calling form, it has not been released.
No, but that reference to it is, and the reference counter is decremented, so that when the other reference is released, the object is destroyed.
Easy enough to test by create a little class with a DEBUGOUT in the Destroy event.
Tamar