Re: ATL Compiler Error When Adding Events
On May 2, 1:44 am, "Igor Tandetnik" <itandet...@mvps.org> wrote:
<wilme...@gmail.com> wrote in message
news:0bbd1200-0cf9-40b2-b5cc-5eaa7d8f53f1@d45g2000hsc.googlegroups.com
On May 1, 10:26 pm, "Igor Tandetnik" <itandet...@mvps.org> wrote:
<wilme...@gmail.com> wrote in message
MIDL_INTERFACE("002B6D0B-0D81-46FC-AE17-597728C721AA")
ICTIXEvents: public IDispatch
{
};
This is normal for a dispinterface. Dispinterface methods are not
real methods, they are simply contracts on what DISPIDs are valid for
IDispatch::Invoke call and what parameters should accompany each
DISPID.
That is good to know, however the compiler is complaining that the
onTriger() does not exist on that interface.
Of course. That's precisely what I was saying.
The offending line is hr = pConnection->OnTrigger( Line, EventType);
which is located in the Fire_onTrigger method from the
CProxyICTIEvents class, and this method was generated by the "add
connection point" wizard from Visual Studio.
The code is written as if for a regular interface, not a dispinterface.
Did you make ICTIXEvents a regular interface originally, generated the
connection point proxy, then changed it to a dispinterface? Try
recreating the proxy (simply do Implement Connection Point again).
--
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
Thanks very much Igor!!!! that solved the compilation problem.
It seems that when I was starting the project I implemented both
interfaces and that included entries in the COM MAP for the
ICTIXEvents Interface. What I did was remove this from the COM map and
remove all previous entries generated by the "add connection Point"
wizard also I deleted the code for the Fire_OnTrigger event. Then I
added the connection point again and at last the compiler issue went
away.
Thanks again for your advise.