Hi again Sergey,
I just discovered that even though the Form.Release() doesn't execute, the form object no longer exists.
ie: Do form myForm, creates an object myForm
after the Form.Release() is issued myForm is .null., even though the form is still on my screen.
I presume that's an indication that there's a dangling object somewhere. But how do I get a destroy method to destroy it if no destroy()s ever run.
>Bill,
>
>Your button holds reference to the HyperLink object which in turn has reference to the button. Add in the button destroy
this.oHyperLink.oCreator = Null
to remove reference to the button.
>Take a look at
http://www.geocities.com/df_foxpro/qoop017.htm for detailed explanation.
>
>>I'm using VFP 7.0
>>
>>I have a button in a container on a form.
>>(I've abbreviated this code, but I think I have what's pertinent)
>>
>>button.method()
>> lo = NewObject('HyperLink')
>> lo.oCreator = this << this is the line that causes the problem
>> this.oHyperLink = lo
>>endproc
>>
>>After creating the object, Thisform.Release() is skipped - no error - no nothing. When I debug, the trace window points at the line but then skips to the next line.
>>If I take out the line, then it works fine.
>>
>>I can't see that it's any different than the oHost property in SetObjRef.prg.
>>In reality I'm adding the oCreator property inside a modified SetObjRef in the exact same manner as oHost is created.
>>
>>TIA
Bill Morris