Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Destroy event does not fire when form is released
Message
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00582372
Message ID:
00583591
Views:
58
Andrus,

I've had plenty of problems with objects not being released properly using CreateObject(). When an object is added to a container object using AddObject() VFP will handle releasing the object properly. Using CreateObject() to instantiate an class to another object's property is not containership.

Will

>Is this VFP bug ?
>I think that when form is closed, all objected referenced only from
>from properties are released automatically!
>
>>The form isn't being destroyed because of the oComm property needs to be released manually.
>>
>>Use the QueryUnload method of the form. This method is called when you click on the upper right corner button.
>>
>>
>>PROCEDURE QueryUnload
>>THIS.oComm = .null.
>>ENDPROC
>>
>>
>>>I create a comm object and event handler in form init()
>>>
>>>When the form is closed by clicking upper right corner, event handler Destroy()
>>>event does not fire. Why ?
>>>
>>>
>>>* Form Init()
>>>this.oComm = createobject( "mscommlib.MSComm" )
>>>EVENTHANDLER( this.oComm, NEWOBJECT("commevents", 'pump.prg' ) )
>>>
>>>
>>>
>>>* File pump.prg contains:
>>>
>>>DEFINE CLASS commevents AS custom
>>>IMPLEMENTS DMSCommEvents IN "mscommlib.MSComm"
>>>
>>>procedure Destroy
>>>* this event does not fire when form is closed. why ?
>>>ENDPROC
>>>
>>>PROCEDURE DMSCommEvents_OnComm() AS VOID;
>>>HELPSTRING "Occurs whenever the value of the CommEvent property changes."
>>>ENDPROC
>>>ENDDEFINE
>>>
Heavy Metal Pedal - click with care
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform