question

Upvotes
Accepted
1 1 1 1

Error occurred whilst connecting Redi API via Python

Downloaded the Python script provided in the FTP, however, when I tried to run the Python program, named ‘Order Entry – Equities Futures.py’, it gave me the following error messages:



File "C:\Users\Admin\anaconda3\lib\site-packages\win32com\client\dynamic.py", line 89, in _GetGoodDispatch

IDispatch = pythoncom.connect(IDispatch)


com_error: (-2147221005, 'Invalid class string', None, None)



During handling of the above exception, another exception occurred:


Traceback (most recent call last):


File "C:\Users\Admin\Desktop\Order Entry - Equities & Futures.py", line 36, in <module>

o = win32com.client.Dispatch("REDI.ORDER")


File "C:\Users\Admin\anaconda3\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch

dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)


File "C:\Users\Admin\anaconda3\lib\site-packages\win32com\client\dynamic.py", line 114, in _GetGoodDispatchAndUserName

return (_GetGoodDispatch(IDispatch, clsctx), userName)


File "C:\Users\Admin\anaconda3\lib\site-packages\win32com\client\dynamic.py", line 91, in _GetGoodDispatch

IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)


com_error: (-2147221005, 'Invalid class string', None, None)


I can run win32com library and try to connect to Word application and it works well on my 64-bit system. Could someone please take a look at the problem and advice how to fix it?



Had tried to find the answer from the forum however, solution is suggesting us to go through step 5 in quick start. There is only solution for excel api in step 5, not python.

redi-api
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Hello @wadehong,

I am also running on win 64 bit - just tested -the example runs as expected from my testing.

A quick sanity check:

  • Your REDIPlus desktop is running and the user is logged in, when you test?
  • Which version of win32 are you running?
python -m pip freeze | findstr 32
pywin32==300



Hi, thanks for your help, I have just updated pywin32 version to 300, however it still doesn't work and keeps showing this kind of error: com_error: (-2147221005, 'Invalid class string', None, None)

I think it 's due to the connection error to REDIPlus. and I have already opened RediPlus.

Can u provide a more professional solution?


1 Answer

· Write an Answer
Upvotes
Accepted
32.2k 40 11 20

Hello @wadehong,

Please confirm:

  • Your REDIPlus desktop is running, and your user is logged in when you submit the request
  • Try REDIPlus -> Troubleshooting ->Reregister Files
  • Verify your version of python
  • You are running the python example on the same machine at the same time that your logged in REDIPlus desktop is running?
  • The example is not modified, other then your unique submission parameters?
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.