[python-win32] Help creating simple COM example

Jim Vickroy Jim.Vickroy@noaa.gov
Wed, 03 Apr 2002 09:50:12 -0700


I am unable to properly create and use a simple COM server.

Here is the script:

class PyCOMtest_3:
   _public_methods_ = ['hits']
   _reg_progid_ = 'PyCOM.Test3'
   _reg_clsid_ = '{F7F5808C-7280-4545-9F88-8DC2A395D039}'
   current_value = 0

   def hits(self):
      self.current_value += 1
      return self.current_value

if __name__ == '__main__':
   import win32com.server.register
   win32com.server.register.UseCommandLine(PyCOMtest_3)


Now, here is an interactive session after registering it:

>>> Registered: PyCOM.Test3
>>> pct = win32com.client.Dispatch('PyCOM.Test3')
Traceback (most recent call last):
  File "<interactive input>", line 1, in ?
  File "C:\Python22\lib\site-packages\win32com\client\__init__.py", line
92, in Dispatch
    dispatch, userName =
dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
  File "C:\Python22\lib\site-packages\win32com\client\dynamic.py", line
81, in _GetGoodDispatchAndUserName
    return (_GetGoodDispatch(IDispatch, clsctx), userName)
  File "C:\Python22\lib\site-packages\win32com\client\dynamic.py", line
72, in _GetGoodDispatch
    IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx,
pythoncom.IID_IDispatch)
com_error: (-2147221231, 'ClassFactory cannot supply requested class',
None, None)


What am I doing that is incorrect?

Thanks.