佚名通过本文主要向大家介绍了可视化管理的实现方法,多线程有几种实现方法,多线程的实现方法,实现梦想的方法,实现可视化的方法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: BHO GetExternal方法实现
描述:
解决方案1:
哦,没注意看你的定义,确实要实现IDispatch接口,因为IE会调用IDispatch的方法。 解决方案2:
这样实现应该就可以了
解决方案3:
描述:
在BHO中实现了IDocHostUIHandler接口...
其中的方法GetExternal()出现了错误...
(情况1)
XXX::GetExternal(IDispatch __RPC_FAR *__RPC_FAR *ppDispatch)
{
return E_NOTIMPL; // IE8中...打开另外一个新的标签时提示"错误: 尚未实现"
}
(情况2)
XXX::GetExternal(IDispatch __RPC_FAR *__RPC_FAR *ppDispatch)
{
return S_OK; // IE8中...打开另外一个新的标签时提示"错误: 'window.external' 为空或不是对象"
}
(情况3)
XXX::GetExternal(IDispatch __RPC_FAR *__RPC_FAR *ppDispatch)
{
*ppDispatch = NULL;
return S_FALSE; // IE8中...打开另外一个新的标签时提示"错误: 'window.external' 为空或不是对象"
}
(情况4)
XXX::GetExternal(IDispatch __RPC_FAR *__RPC_FAR *ppDispatch)
{
*ppDispatch = (IDispatch*)this;
return S_OK; // IE8中...打开另外一个新的标签时提示"错误: 意外地调用了方法或属性访问。"
}
到底怎么实现呢...请指点(MSDN上在讲contextmenu时...好像用theapp.m_...在我的BHO中theapp代表什么呢...)
解决方案1:
哦,没注意看你的定义,确实要实现IDispatch接口,因为IE会调用IDispatch的方法。 解决方案2:
XXX::GetExternal(IDispatch __RPC_FAR *__RPC_FAR *ppDispatch)
{
AddRef();
*ppDispatch = (IDispatch*)this;
return S_OK; // IE8中...打开另外一个新的标签时提示"错误: 意外地调用了方法或属性访问。"
}
这样实现应该就可以了
解决方案3:
贴下XXX的定义。
解决方案4:看了一下,不懂!
解决方案5:先看你的m_pDispOM 这个成员变量是谁的,然后就是获取它
解决方案6:theapp 就是当前实例的,AfxGetApp
解决方案7:MK