>>I wonder whether I could get some feedback on the following problems.
>>
>>I have a few lines of codes to create an object, use it, and release it later.
>>
>>o1 = createobject("my_object")
>>......
>>
>>oCurrent = o1
>>... do something with oCurrent ....
>>
>>o1.next = createobject("my_object")
>>oCurrent = o1.next
>>... do somethig with oCurrent ....
>>
>>&& now I try to release to objects
>>release oCurrent
>>release o1
>>
>>My questions are:
>>1. does oCurrent = o1.next copy the object or just the reference of the object?
>>
>>2. does release oCurrent release the memory acquired in 2nd createobject?
>>
>>3. does release o1 release the memory for both createobject(...) even without the release oCurrent?
>
>You can force a Object release ( not variable/property references )
>with a
>RELEASE this
>or
>Parent.RemoveObject
>
>
>RefObject = CREATEOBJECT("someclass")
>RefCopy = m.RefObject
>
>CLEAR
>
>RELEASE RefObject
>? RefCopy
>RELEASE RefCopy
>
>? "end"
>
>RefObject = CREATEOBJECT("someclass")
>RefCopy = m.RefObject
>
>* this set to null ALL the object references, and the object is destroyed
>RefCopy.Release
>? RefCopy
>? RefObject
>? "end2"
>
>DEFINE CLASS someclass as Custom
>
> PROCEDURE Release
> RELEASE this
>
> PROCEDURE destroy
> ? "destroyed"
>
>ENDDEFINE
>
Thanks.