Bill,
I don't know if it's relevant to your problem but you forgot to clear reference to the calling form. Add to Destroy of myForm2
this.oCalling_Form = Null
>I'm using VFP 7.0
>I have a bug that doesn't show up when breakpoint is set, and crashes VFP when a breakpoint is set.
>
>define class myForm1
> oBrowser = .null.
>
> procedure myProc()
> do form myForm2 with this
> return ! isnull( this.oBrowser )
>
>define class myForm2
> oBrowser = .null
> oCalling_Form = .null
>
> procedure init( oCalling_Form )
> this.oCalling_Form = m.oCalling_Form
> this.oBrowser = createobject( 'InternetExplorer.Application' )
>
> procedure destroy()
> this.oCalling_Form.oBrowser = this.oBrowser
>
>1. During runtime myProc() returns .f. and I check the watch window and myForm1.oBrowser=.null.
>
>2. I open the watch window (no breakpoints) and run it again - same results.
>
>3. I open the watch window and set a breakpoint on myForm1.oBrowser and run it again - it stops on the correct line in myForm2.destroy() and shows myForm1.oBrowser = object.
>I close the trace window and continue.
>myProc() returns .T.
>When I close the watch window I get a fatal error and a message to send it to MS.
>
>Where do I start looking?
>
>TIA
--sb--