Skip to content

OpenOPC.client() fails with "OPCError: Dispatch: Invalid class string" #14

@bwllc

Description

@bwllc

Please correct my misunderstanding if I am wrong. The README.TXT leads me to believe that this version of OpenOPC is an updated version of the package that was originally described at http://openopc.sourceforge.net/. As such, I think that I should expect the "minimal working program" code to work. Here is an interpreter session with traceback showing that I am failing right from the start:

Python 3.7.4 (default, Aug  9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import OpenOPC
>>> OpenOPC.__version__
'1.2.0'
>>> opc = OpenOPC.client()
Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\site-packages\win32com\client\dynamic.py",
line 89, in _GetGoodDispatch
    IDispatch = pythoncom.connect(IDispatch)
pywintypes.com_error: (-2147221005, 'Invalid class string', None, None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\site-packages\OpenOPC.py", line 167, in __init__
    self._opc = win32com.client.gencache.EnsureDispatch(c, 0)
  File "C:\ProgramData\Anaconda3\lib\site-packages\win32com\client\gencache.py",
 line 527, in EnsureDispatch
    disp = win32com.client.Dispatch(prog_id)
  File "C:\ProgramData\Anaconda3\lib\site-packages\win32com\client\__init__.py",
 line 95, in Dispatch
    dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
  File "C:\ProgramData\Anaconda3\lib\site-packages\win32com\client\dynamic.py",
line 114, in _GetGoodDispatchAndUserName
    return (_GetGoodDispatch(IDispatch, clsctx), userName)
  File "C:\ProgramData\Anaconda3\lib\site-packages\win32com\client\dynamic.py",
line 91, in _GetGoodDispatch
    IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_error: (-2147221005, 'Invalid class string', None, None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\ProgramData\Anaconda3\lib\site-packages\OpenOPC.py", line 173, in __init__
    raise OPCError(error_msg)
OpenOPC.OPCError: Dispatch: Invalid class string

I'm failing just by attempting to create a client with no arguments. I installed this package from PyPI using pip. Both win32 and pyro4 were installed when I installed OpenOPC.

Advice and suggestions are greatly appreciated, thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions