On 30/06/2009 5:09 AM, Tim Roberts wrote:
Gertjan Klein wrote:
It doesn't over here, but another poster has shown me how to circumvent
this. If this is the only way to do that I will; there is no way to tell
PyWin32 to reload the extension? (I know reloading in Python is tough,
I'm expecting a "no" here. ;-))


I was going to respond "no" immediately, but now you've got me
thinking.  Explorer loads the DLL, instantiates the COM object, and
keeps it loaded forever.  I think that fact alone makes it impossible;
even if you added a backdoor to reload the module, you still have an
object in memory using the original implementation.

I haven't caught up with the rest of the thread yet, but in my experience, the shell keeps objects alive for as shorter time as possible. So you may find a completely new instance is requested for each context menu request (or for each different item selected, or something), so arranging to 'reload' your implementation module may well work. I've even used the 'Python.Server' object to reload via Exec() calls.

Cheers,

Mark
_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to