On 18/11/2010 5:45 PM, Brian Merrell wrote:
    ob = win32com.client.Dispatch(...)

 >>ob
<COMObject ConcordanceServer>
 >>print ob
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
   File "c:\python26\lib\site-packages\win32com\client\dynamic.py", line
197, in __str__
     return str(self.__call__())
   File "c:\python26\lib\site-packages\win32com\client\dynamic.py", line
182, in __call__
     return
self._get_good_object_(self._oleobj_.Invoke(*allArgs),self._olerepr_.defaultDispatchName,None)
pywintypes.com_error: (-2147319779, 'Library not registered.', None, None)

That is very strange - it seems at least one type library needed isn't registered - although the fact makepy ran at all means at least one type library *is* registered.

    A traceback would be useful here - if the object really is a dynamic
    object, an AttributeError implies that the object itself also
    doesn't think the attribute exists (as dynamic objects ask the
    object for the attribute before raising an AttributeError).

I am calling a method listed in the gen_py file so I am not sure how the
attribute could not exist (I was careful about capitalization.  I can
post/send a very abbreviated version of this file (just the wrapper
stuff and a single method) if it would help.

That is why a traceback would be useful for the attribute error - but it sounds like the object you are calling isn't a makepy instance, just a regular dynamic dispatch object, so the makepy class isn't being used. That is what should have been addressed by explicitly wrapping it in the class, but for reasons I can't explain that generates the "type lib not registered" error.

I'm afraid I'm out of ideas - can you try reinstalling the COM object, or asking for help from the author of that object?

Cheers,

Mark
_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to