Click to See Complete Forum and Search --> : Fireing events from ATL to IE5


September 14th, 1999, 04:54 PM
I have created a ATL project and added a internet explorer object with Connection Points enabled I added a event handler to the connection point proxy and fire this event in response to a method call on my object. When I setup the event handler in ie5 and call my method the event handler never gets called, Can anyone tell if I'm missing something from my code. everything looks good to me. I have included a copy of the object header file and html script. Please email responses if you are able to david_grubbs@ria.com.
Thanks, David

//code follows:
/////////////////////////////////////////////////////////////////////////////
/// My Header File
/////////////////////////////////////////////////////////////////////////////
// Ccontroler
class ATL_NO_VTABLE Ccontroler :
public CComObjectRootEx<CComMultiThreadModel>,
public CComCoClass<Ccontroler, &CLSID_controler>,
public IObjectWithSiteImpl<Ccontroler>,
public ISupportErrorInfo,
public IConnectionPointContainerImpl<Ccontroler>,
public IDispatchImpl<Icontroler, &IID_Icontroler, &LIBID_IECNTRLLib>,
public CProxy_IcontrolerEvents< Ccontroler >,
public IProvideClassInfo2Impl<&CLSID_controler, &DIID__IcontrolerEvents, &LIBID_IECNTRLLib>,
public IObjectSafetyImpl<Ccontroler, INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA>
{
private:

public:
Ccontroler()
{
}

DECLARE_REGISTRY_RESOURCEID(IDR_CONTROLER)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_COM_MAP(Ccontroler)
COM_INTERFACE_ENTRY(Icontroler)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY(ISupportErrorInfo)
COM_INTERFACE_ENTRY(IConnectionPointContainer)
COM_INTERFACE_ENTRY(IObjectWithSite)
//COM_INTERFACE_ENTRY_IMPL(IConnectionPointContainer)
// interface for ie
COM_INTERFACE_ENTRY(IProvideClassInfo)
COM_INTERFACE_ENTRY(IProvideClassInfo2)
COM_INTERFACE_ENTRY(IObjectSafety)
END_COM_MAP()

BEGIN_CONNECTION_POINT_MAP(Ccontroler)
CONNECTION_POINT_ENTRY(DIID__IcontrolerEvents)
END_CONNECTION_POINT_MAP()


// ISupportsErrorInfo
STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);

// Icontroler
public:
STDMETHOD(get_MyProperty)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_MyProperty)(/*[in]*/ BSTR newVal);
STDMETHOD(MyMethod)();
};

/////////////////////////////////////////////////////////////////////////////
/// My Html Code
/////////////////////////////////////////////////////////////////////////////
<HTML>
<HEAD>
<TITLE>ATL 3.0 test page for object controler</TITLE>

<script language="vbscript">

</script>
</BODY>
</HTML>