IOleCommandTarget::Exec()一问
3m2u 2004-12-07 10:05:36 class ATL_NO_VTABLE CWebBrowserEventSink :
public CComObjectRootEx<CComSingleThreadModel>,
public IOleCommandTarget,
public IDispatch
{
}
声明是这样的。用到这个类的代码有:
CComObject<CWebBrowserEventSink> *m_pWebBrowserEventSink;
hr = CComObject<CWebBrowserEventSink>::CreateInstance(&m_pWebBrowserEventSink);
编译的时候说
d:\program files\microsoft visual studio\vc98\atl\include\atlcom.h(2440) : error C2259: 'CComObject<class CWebBrowserEventSink>' : cannot instantiate abstract class due to following members:
d:\program files\microsoft visual studio\vc98\atl\include\atlbase.h(2188) : while compiling class-template member function 'long __stdcall ATL::CComObject<class CWebBrowserEventSink>::CreateInstance(class ATL::CComObject<class CWebBrowserEve
ntSink> ** )'
d:\program files\microsoft visual studio\vc98\atl\include\atlcom.h(2440) : warning C4259: 'long __stdcall IOleCommandTarget::QueryStatus(const struct _GUID *,unsigned long,struct _tagOLECMD [],struct _tagOLECMDTEXT *)' : pure virtual function was no
t defined
d:\program files\microsoft sdk\include\docobj.h(1402) : see declaration of 'QueryStatus'
d:\program files\microsoft visual studio\vc98\atl\include\atlbase.h(2188) : while compiling class-template member function 'long __stdcall ATL::CComObject<class CWebBrowserEventSink>::CreateInstance(class ATL::CComObject<class CWebBrowserEve
ntSink> ** )'
d:\program files\microsoft visual studio\vc98\atl\include\atlcom.h(2440) : error C2259: 'CComObject<class CWebBrowserEventSink>' : cannot instantiate abstract class due to following members:
d:\program files\microsoft visual studio\vc98\atl\include\atlbase.h(2188) : while compiling class-template member function 'long __stdcall ATL::CComObject<class CWebBrowserEventSink>::CreateInstance(class ATL::CComObject<class CWebBrowserEve
ntSink> ** )'
d:\program files\microsoft visual studio\vc98\atl\include\atlcom.h(2440) : warning C4259: 'long __stdcall IOleCommandTarget::QueryStatus(const struct _GUID *,unsigned long,struct _tagOLECMD [],struct _tagOLECMDTEXT *)' : pure virtual function was no
t defined
d:\program files\microsoft sdk\include\docobj.h(1402) : see declaration of 'QueryStatus'
d:\program files\microsoft visual studio\vc98\atl\include\atlbase.h(2188) : while compiling class-template member function 'long __stdcall ATL::CComObject<class CWebBrowserEventSink>::CreateInstance(class ATL::CComObject<class CWebBrowserEve
ntSink> ** )'
Error executing cl.exe.
说不能实例化虚类。我用IOleCommandTarget是想自己处理页面中的脚本错误,但遇到了这样的情况怎么改呢?