[python-win32] COM: Minimal example of a custom server working with DispatchWithEvents()
Mark Hammond
skippy.hammond at gmail.com
Wed Jul 28 04:25:30 EDT 2021
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
More information about the python-win32
mailing list