Hi,

I posted this some days ago in comp.lang.python <http://groups-beta.google.com/group/comp.lang.python> but didn't get a real solution.
Perhaps someone here can help me.


I have implemented a local COM Server with win32com framework where all clients
use the same global object (test_obj). So far it works, but when the
last client is closed the gobal object is deleted because the pythonw.exe is
closed. When I create a new client a new pythonw process is started. I need that the
new client gets the same global object. How can I prevent the Python COM
enviornment (pythonw.exe) to close when no client exist. I figured out a
workaround, but there must be real solution to the problem.


The code looks like:

class test:
   ...

test_obj=test()

class test_F:

   _reg_clsid_ = ...
   _reg_progid_ = "test.cl"
   _reg_clsctx_ = pythoncom.CLSCTX_LOCAL_SERVER
   _public_methods_ = ...

   def __init__(self):
       self.delegate=test_obj
       ....
   ...

####Workaround to keep the local server alive
if not __name__=='__main__':
   import win32com.client
   dummy=win32com.client.Dispatch("test.cl")
##########################################################

if __name__=='__main__':
   import win32com.server.register
   win32com.server.register.UseCommandLine(test_F, debug=0)



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

Reply via email to