Re: COM: Minimal example of a custom server working with DispatchWithEvents()

Mark Hammond <[email protected]>
Newsgroups gmane.comp.python.windows
Message-ID <[email protected]>
On 28/07/2021 7:58 am, William Belanger wrote:
> Hi everyone,
> 
> 
> I'm trying to make a cross-platform Python interface for a third-party 
> API (Druide Antidote). The D-Bus part is done and working 
> (https://gitlab.com/-/snippets/2151173 
> <https://gitlab.com/-/snippets/2151173>), it consist of a server adapter 
> (AdaptateurAntidote), which relay the events to an handler class 
> (ImplementationAntidote).
> 
>     Traceback (most recent call last):
> 
>     File
>     "C:\Users\user\AppData\Local\Programs\Python\Python38\lib\site-packages\win32com\client\__init__.py",
>     line 256, in DispatchWithEvents
> 
>     ti = disp._oleobj_.GetTypeInfo()
> 
>     pywintypes.com_error: (-2147352567, 'Exception occurred.', None, None)

DispatchWithEvents creates a COM object, then gets the typeinfo needed 
to implement the interfaces defined for events - but this COM object is 
failing to provide that type info at runtime. It might still have a .tlb 
available though, and if it does, you can run `makepy.py` once and the 
snippet should work. The typelib can also live in a .dll, but I've never 
heard of Antidote so have no better suggestions.

Cheers,

Mark
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.