COM object registration
dsavitsk
dsavitsk at e-coli.net
Mon Sep 16 14:17:42 EDT 2002
if the module below is run from the command line, it registers and works
fine. if, however, it is imported and the register() method is executed it
does not work (giving a 'localserver' error). (the registration process
works, but it can't then be used via Dispatch) seemingly the name of the
class (here testServer) can't be found.
even though it doesn't work locally, however, it will still work as a DCOM
server, that is, if it is registered from the command line on another
computer it works.
is this expected behavior? is it a mangled name of some sort? is there a
better way to register a COM obect via code.
# ------- sample code -------
import pythoncom
class testServer:
_reg_clsid_ = '{C627B7F9-E078-4872-B06D-7DB33C3BC7A4}'
_reg_clsctx_ = pythoncom.CLSCTX_LOCAL_SERVER
_reg_progid_ = 'test.Server'
_public_methods_ = ['GET_VALUE']
def GET_VALUE(self): return 0
def register():
import win32com.server.register
win32com.server.register.UseCommandLine(testServer)
if __name__ == '__main__': __register()
# ------- end sample code -------
More information about the Python-list
mailing list