Greetings!
I'm developing an ActiveX control in VS6 C++, which occasionally fires
events to be handled from JavaScript in the embedding HTML page. I
added the events to the project as described by the appropriate MSDN
help pages, so the IDL file was modified accordingly, and the helper
methods (Fire_...) have also been created.
Events fire as expected when the Fire_... method is called from the
DLL's InPlaceActivate() method. This is perfect, for example, for
detecting clicks within the area of the control. However, the same
event does not propagate when the Fire_... method is invoked from
another location in my program (probably another thread).
When I digged a bit deeper, it turned out that in the latter case, the
IDisplatch::Invoke() method invocation within the autogenerated
Fire_... method returned an error code, namely E_UNEXPECTED.
Furthermore the event propagation works perfectly when I run the
control in the ActiveX Test Container, so the error occurs only in IE.
I'm using IE7 under WXP SP2, on an I386 arch. I spent a lot of time
searching for a solution on the Internet, to no avail.
Any ideas, anyone? Please CC in private mail, I'm not subscribed to
this group. Thanks.
(This might not be the right place to post this question, but I have
tried on the MSDN forums, with no luck at all.)
dhanak@gmail.com - 10 May 2007 10:13 GMT
I reposted the qestion to microsoft.public.internetexplorer.general,
under the same title.