Re: Question on how to debug COM
The design of Automation is you _don't_ know the dispinterface
you are calling - you simply feed it whatever the script author
has typed and rely on feedback via runtime errors.
In your case you want to look at the documentation supplied
by the author.
--
=====================================
Alexander Nickolov
Microsoft MVP [VC], MCSD
email: agnickolov@mvps.org
MVP VC FAQ: http://vcfaq.mvps.org
=====================================
"ccccoder" <ccccoder@discussions.microsoft.com> wrote in message
news:32D73757-7C31-4903-832F-08DAD4D9108A@microsoft.com...
Could some expert help to point out what's the best way to debug COM
object.
Let's say you get an IDispatch thing, how can you figure out the type of
this object without going thru the trouble of doing
if (FAILED(pDisp->QueryInterface(&pMyThing)))
....
Since I had no way of knowing the type in advance, I can't even do
QueryInterface() either. Is there any way to figure that out if I'm inside
the debugger, and I already got hold of the object?
I'm developing an event sink, and it must implement the method
STDMETHODIMP MyEventListener::Invoke(DISPID dispIdMember, REFIID riid,
LCID
lcid,
WORD wFlags, DISPPARAMS* pDispParams,
VARIANT* pVarResult, EXCEPINFO* pExcepInfo,
UINT* puArgErr)
which is inherited from IDispatch. I want to know what is sent in the
pDispParams parameter. I know it is an IDispatch, but I have no way of
knowing its real type. And running inside the debugger, I want to know
what
it is.
Thanks in advance, this question has been bugging me for a long time, and
has always been the worst problem while developing on Windows platform.