[python-win32] keeping a COM server alive
Frank Guenther
xeoicq at netscape.net
Thu Feb 17 13:21:56 CET 2005
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)
More information about the Python-win32
mailing list