Hi all, I implemented a python com server and generate an executable and dll using py2exe tool. then I used regsvr32.exe to register the dll.I got a message that the registration was successful. Then I tried to add reference to that dll in .NET. But I can not find my server on the com tab of adding a reference. I want to mention that I can run the server as a python script and consume it from .net using late binding. Is there something I'm missing or doing wrong? I would appreciate any help.
#hello.py import pythoncom import sys class HelloWorld: #pythoncom.frozen = 1 if hasattr(sys, 'importers'): _reg_class_spec_ = "__main__.HelloWorld" _reg_clsctx_ = pythoncom.CLSCTX_LOCAL_SERVER _reg_clsid_ = '{CDBA816B-E80F-4545-BB68-5A3270C92A74}' _reg_desc_ = "Python Test COM Server" _reg_progid_ = "Python.TestServer" _public_methods_ = ['Hello'] _public_attrs_ = ['softspace', 'noCalls'] _readonly_attrs_ = ['noCalls'] def __init__(self): self.softspace = 1 self.noCalls = 0 def Hello(self, who): self.noCalls = self.noCalls + 1 # insert "softspace" number of spaces print "Hello" + " " * self.softspace + str(who) return "Hello" + " " * self.softspace + str(who) if __name__=='__main__': import sys if hasattr(sys, 'importers'): # running as packed executable. if '--register' in sys.argv[1:] or '--unregister' in sys.argv[1:]: # --register and --unregister work as usual import win32com.server.register win32com.server.register.UseCommandLine(HelloWorld) else: # start the server. from win32com.server import localserver localserver.serve('CDBA816B-E80F-4545-BB68-5A3270C92A74') else: import win32com.server.register win32com.server.register.UseCommandLine(HelloWorld) # setup.py from distutils.core import setup import py2exe setup(com_server = ["hello"]) Thanks -- Sarah Abdelrazak
_______________________________________________ python-win32 mailing list python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32