class CWebBrowser : public CWnd, IOleCommandTarget我的 class CWebBrowser 继承了 IOleCommandTarget
并且重载了 virtual HRESULT STDMETHODCALLTYPE Exec(
/* [unique][in] */ const GUID __RPC_FAR *pguidCmdGroup,
/* [in] */ DWORD nCmdID,
/* [in] */ DWORD nCmdexecopt,
/* [unique][in] */ VARIANT __RPC_FAR *pvaIn,
/* [unique][out][in] */ VARIANT __RPC_FAR *pvaOut)但当网页有脚本错误时, 我设了断点,它并不会跳到 Exec() 里面去.是不是我的实现有问题?
并且重载了 virtual HRESULT STDMETHODCALLTYPE Exec(
/* [unique][in] */ const GUID __RPC_FAR *pguidCmdGroup,
/* [in] */ DWORD nCmdID,
/* [in] */ DWORD nCmdexecopt,
/* [unique][in] */ VARIANT __RPC_FAR *pvaIn,
/* [unique][out][in] */ VARIANT __RPC_FAR *pvaOut)但当网页有脚本错误时, 我设了断点,它并不会跳到 Exec() 里面去.是不是我的实现有问题?
{
BEGIN_INTERFACE_PART(OleCommandTarget, IOleCommandTarget)
INIT_INTERFACE_PART(CDocObjectServer, OleCommandTarget)
STDMETHOD(QueryStatus)(const GUID*, ULONG, OLECMD[], OLECMDTEXT*);
STDMETHOD(Exec)(const GUID*, DWORD, DWORD, VARIANTARG*, VARIANTARG*);
END_INTERFACE_PART(OleCommandTarget)
......
}ULONG FAR EXPORT CWebBrowser::XOleCommandTarget::AddRef()
{
METHOD_PROLOGUE_(CWebBrowser, OleCommandTarget)
return pThis->ExternalAddRef();
}
ULONG FAR EXPORT CWebBrowser::XOleCommandTarget::Release()
{
METHOD_PROLOGUE_(CWebBrowser, OleCommandTarget)
return pThis->ExternalRelease();
}HRESULT FAR EXPORT CWebBrowser::XOleCommandTarget::QueryInterface(REFIID riid, void **ppvObj)
{
METHOD_PROLOGUE_(CWebBrowser, OleCommandTarget)
HRESULT hr = (HRESULT)pThis->ExternalQueryInterface(&riid, ppvObj);
return hr;
}STDMETHODIMP CWebBrowser::XOleCommandTarget::Exec(
/* [unique][in] */ const GUID __RPC_FAR *pguidCmdGroup,
/* [in] */ DWORD nCmdID,
/* [in] */ DWORD nCmdexecopt,
/* [unique][in] */ VARIANT __RPC_FAR *pvaIn,
/* [unique][out][in] */ VARIANT __RPC_FAR *pvaOut
)
{
.....
}我改成了上面的代码, 但仍然跳不到 exec() 里面去......照样还是显示脚本错误的提示框...