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:
00584176
Views:
57
I thought that in VFP 7 all of those probles are fixed.
Where are such problems described ?

Using addobject() instead of createobject() in the sample code causes error

object class is invalid for this type of container

so I cannot use it.

>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
>>>>
Andrus
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform