[Raul Cota wrote]
> I hope somebody here can help me out here.
> 
> I have a Python COM server which I call from Excel. The Python object is a 
> bit complex and its __del__ method is not called when the reference count 
> to the object from within Excel go to 0. For this reason I have a CleanUp 
> method that makes sure all the resources are released. My problem is that I 
> want to make sure that this CleanUp method is always called when there are 
> not more references to the COM server.
> 
> So, my question is: is there a way to know when the reference count of the 
> COM object goes to 0 ? For example, when Excel does not use it anymore and 
> the variable is set to Nothing?
> 
> 
> I looked quite a bit in the archive of the mailing list with no luck.

I am far from an expert on this so, YMMV. You may have a reference cycle
that is keeping Python's garbage collection from cleaning up your server
object. You can try gc.collect() -- I think that is what it is called --
to trigger immediate garbage collection to play with this. Perhaps the
Python COM Server framework code is holding on to a reference of your
object and you need to call some API to unregister it or shut it down,
or something?

You also might want to ask on python-list@python.org to see if there are
any PyWin32 users there that may have run into a similar issue.

Cheers,
Trent

-- 
Trent Mick
[EMAIL PROTECTED]
_______________________________________________
ActivePython mailing list
ActivePython@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
Other options: http://listserv.ActiveState.com/mailman/listinfo/ActivePython

Reply via email to