Exporting events from Python COM class.

Toby Dickenson mbel44 at dial.pipex.net
Mon Nov 13 04:40:13 EST 2000


(CC Mark)

>Well I am still missing something :-(  I thought it was pretty clear 
>that when you did a QI, you got back what was effectively a vtable 
>describing that interface.  I thought COM was a binary standard, and 
>this was fundamental.

It works this way *because* it is a binary standard.

Think of it this way: you arent returning an IDispatch, but rather a
different interface that happens to have exactly the same methods in
the same order as IDispatch. The two are indistinguishable in binary
terms.

>Am I free to return an IDispatch in _any_ QI for _any_ IID, as long as I 
>return a faithful IDispatch for the interface?  Or does this only apply 
>to sinks?

Only for IIDs whose methods are defined in the idl to be
binary-indistinguishable from IDispatch (ie dispinterfaces)

>Otherwise it is in 
>"gross violation" of "conventions" (as opposed to "rules" :-)

I too would really like to see this written somewhere more
authoritative than Don Box (if there is such a thing)



Toby Dickenson
tdickenson at geminidataloggers.com



More information about the Python-list mailing list