Hi Mark, now I have made some progress! Using the win32traceutil worked well.
However the real essential part was the addition of the _typelib_guid_ variable to the server class. Below, I have added the working example. Could you confirm that this is the proper way of using the modules? Two questions remains: 1.) The following code line seems to be unnecessary. The AddIn sever works without it as well. What is the idea for this line? Do I need it? universal.RegisterInterfaces('{9C3BB401-114D-11D4-AC72-00105A4925FC}', 0, 1, 2, ['ICADdyAddIn']) 2.) Debugging the server gives me now the following lines in the trace debug window, which I don't understand. Can you explain what their meaning is? Object with win32trace dispatcher created (object=None) in <Addin1.AddIn1 instance at 0x1F8B9DC8>._QueryInterface_ with unsupported IID IMarshal ({00000003-0000-0000-C000-000000000046}) in <Addin1.AddIn1 instance at 0x1F8B9DC8>._QueryInterface_ with unsupported IID IMarshal ({00000003-0000-0000-C000-000000000046}) in <Addin1.AddIn1 instance at 0x1F8B9DC8>._QueryInterface_ with unsupported IID {0000001B-0000-0000-C000-000000000046} ({0000001B-0000-0000-C000-000000000046}) in <Addin1.AddIn1 instance at 0x1F8B9DC8>._QueryInterface_ with unsupported IID IStdMarshalInfo ({00000018-0000-0000-C000-000000000046}) in <Addin1.AddIn1 instance at 0x1F8B9DC8>._QueryInterface_ with unsupported IID IExternalConnection ({00000019-0000-0000-C000-000000000046}) in <Addin1.AddIn1 instance at 0x1F8B9DC8>._QueryInterface_ with unsupported IID {4C1E39E1-E3E3-4296-AA86-EC938D896E92} ({4C1E39E1-E3E3-4296-AA86-EC938D896E92}) Thank you very much for your supporting help and time!! Best wishes Johannes ## ## Addin1.py - A very simple CADdy++ AddIn server ## from win32com import universal from win32com.server.exception import COMException from win32com.client import gencache import pythoncom import sys # # Support for COM objects we use. # gencache.EnsureModule('{9C3BB401-114D-11D4-AC72-00105A4925FC}', 0, 1, 2, bForDemand=True) # CADdy.tlb # # The TLB defining the interfaces we implement # #universal.RegisterInterfaces('{9C3BB401-114D-11D4-AC72-00105A4925FC}', 0, 1, 2, ['ICADdyAddIn']) class AddIn1: _com_interfaces_ = ['ICADdyAddIn'] _public_methods_ = [] _reg_clsctx_ = pythoncom.CLSCTX_INPROC_SERVER _reg_clsid_ = "{AB6C657A-2C26-4BD0-ABB8-D777BC91F199}" _reg_progid_ = "CADdyAddIn.PythonTest1" _reg_policy_spec_ = "win32com.server.policy.EventHandlerPolicy" _typelib_guid_ = '{9C3BB401-114D-11D4-AC72-00105A4925FC}' def __init__(self): self.appHostApp = None self.CLSID = "{AB6C657A-2C26-4BD0-ABB8-D777BC91F199}" self.ProgId = "CADdyAddIn.PythonTest1" self.Description = "CADdyAddIn.PythonTest1" def Exit(self): """method Exit""" self.appHostApp = None def Init(self, theCADdy): """method Init""" self.appHostApp = theCADdy pUIManager = theCADdy.UIManager pUIManager.Information("Init Python Test AddIn1...") def RegisterAddin(klass): pass def UnregisterAddin(klass): pass if __name__ == '__main__': import win32com.server.register win32com.server.register.UseCommandLine(AddIn1) if "--unregister" in sys.argv: UnregisterAddin(AddIn1) else: RegisterAddin(AddIn1) _______________________________________________ Python-win32 mailing list Python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32