[python-win32] (no subject)

Mark Hammond mhammond at skippinet.com.au
Tue May 10 00:38:53 CEST 2005


"SRS_CONLib.Point2D" is not the "ProgID" of the object - it is the name of
the typelib and interface in that typelib.

If your object can be used with Dispatch, it should be possible to create
the object in VB using "CreateObject" - CreateObject wants the ProgID too -
ie, it will fail with "SRS_CONLib.Point2D".  Whatever you can pass to
CreateObject can be passed to Python's dispatch.

Ask the developer what the "ProgID" of the object is.

Cheers,

Mark
-----Original Message-----
From: python-win32-bounces at python.org
[mailto:python-win32-bounces at python.org]On Behalf Of eric.powell at srs.gov
Sent: Tuesday, 10 May 2005 2:55 AM
To: python-win32 Mailinglist
Subject: [python-win32] (no subject)



Hello again, all-

I am still trying to understand Windows COM from Python. This time, I am
trying to access a custom COM object an in-house developer has developed in
C++. The class is stored in a dll registered with my system, and can be
called from VB as follows:


>From a working VB project:

 ' set up the input
  Dim pConv As New SRS_CONLib.Point2D


However, when I try to call the clas via win32com, I get error messages.


In Python:

srs = win32com.client.Dispatch(r'SRS_CONLib.Point2D')

The error:

Traceback (most recent call last):
  File "<pyshell#13>", line 1, in -toplevel-
    srs = win32com.client.Dispatch(r'SRS_CONLib.Point2D')
  File "C:\PYTHON23\lib\site-packages\win32com\client\__init__.py", line 95,
in Dispatch
    dispatch, userName =
dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
  File "C:\PYTHON23\lib\site-packages\win32com\client\dynamic.py", line 84,
in _GetGoodDispatchAndUserName
    return (_GetGoodDispatch(IDispatch, clsctx), userName)
  File "C:\PYTHON23\lib\site-packages\win32com\client\dynamic.py", line 72,
in _GetGoodDispatch
    IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx,
pythoncom.IID_IDispatch)
com_error: (-2147221005, 'Invalid class string', None, None)

The developer tells me the IDispatch interface is enabled, and the
SRSCON_Lib.Point2D should be in the registry.

Thanks in advance for any assistance....

Eric

Eric B. Powell
E&GIS
BSRI
(803)952-7783

When a true genius appears in this world you may know him by this sign, that
the dunces are all in confederacy against him. (Swift)



More information about the Python-win32 mailing list