2010-08-19 4 views
0

Il semble que mon programme ne gère pas l'événement DownloadComplete. Quelqu'un peut-il me guider là où j'ai mal agi?L'événement DownloadComplete n'a pas été appelé par BHO

class ATL_NO_VTABLE CStockBar : 
    public CComObjectRootEx<CComSingleThreadModel>, 
    public CComCoClass<CStockBar, &CLSID_StockBar>, 
    public IDeskBand, 
    //public IObjectWithSite, 
    public IObjectWithSiteImpl<CStockBar>, 
    public IInputObject, 
    public IDispatchImpl<IStockBar, &IID_IStockBar, &LIBID_MOTLEYFOOLLib, 1, 0>, 
    public IDispEventImpl<1, CStockBar, &DIID_DWebBrowserEvents2, &LIBID_SHDocVw, 1, 1> 


    BEGIN_COM_MAP(CStockBar) 
    COM_INTERFACE_ENTRY(IStockBar) 
    COM_INTERFACE_ENTRY(IInputObject) 
    COM_INTERFACE_ENTRY(IOleWindow) 
    COM_INTERFACE_ENTRY_IID(IID_IDockingWindow, IDockingWindow) 
    COM_INTERFACE_ENTRY(IObjectWithSite) 
    COM_INTERFACE_ENTRY_IID(IID_IDeskBand, IDeskBand) 
    COM_INTERFACE_ENTRY(IDispatch) 
    END_COM_MAP() 


    BEGIN_SINK_MAP(CStockBar) 
    SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_DOCUMENTCOMPLETE, OnDocumentComplete) 
    END_SINK_MAP() 

Répondre

0
BEGIN_SINK_MAP(CStockBar) 
    SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_DOCUMENTCOMPLETE, OnDocumentComplete) 
END_SINK_MAP() 

il suffit d'ajouter ce qui suit dans ce qui précède:

SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_DOWNLOADCOMPLETE, OnDownloadComplete) 

http://msdn.microsoft.com/en-us/library/cc136548%28v=VS.85%29.aspx

+0

Merci pour le mec de réponse. Mais j'ai fait ça. Puis-je savoir quelle est l'erreur possible si le downloadcomplete n'est pas appelé par l'IE? – barlyee

Questions connexes