• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > BHOGetExternal方法实现

BHOGetExternal方法实现

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了可视化管理的实现方法,多线程有几种实现方法,多线程的实现方法,实现梦想的方法,实现可视化的方法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: BHO GetExternal方法实现
描述:


在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:

引用 14 楼 wfc2004122 的回复:
实在没办法...就实现了IDispatch...唉...无语...
 http://www.eb163.com/club/thread-990-1-1.html
 先按这样整着吧...
 有啥好的提示说下啊...呵呵...明结贴...

哦,没注意看你的定义,确实要实现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


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • BHOGetExternal方法实现

相关文章

  • 2017-06-04 有没有精通InstallShield的
  • 2017-06-04 SOAPToolkit30中使用COM组件的问题
  • 2017-06-04 关于易海图的控件
  • 2017-06-04 请教一个使用ATL建立包容控件的问题
  • 2017-06-04 如何将ATL接口中的整数数组传送给Web中的VBScript,请高手指导
  • 2017-06-04 请问,在ATL开发的组件中,我想写一个方法,输入参数是字符串,返回一个字符串,能给我一个这个方法的最简单的例子代码吗?????
  • 2017-06-04 关于CComSafeArray<char>
  • 2017-06-05 小菜鸟的疑问:获取此IAT项函数的问题,俺都憋了一个礼拜啦,555555
  • 2017-06-04 关于CWorkBooks的Add
  • 2017-06-05 能给个线程传递参数的例子嘛

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 有关activex的问题,用activex加载一个窗口或应用程序
    • 令人头疼的问题,,,Phonic_usb控件
    • 在ATL中接口里的方法如何定义HWND窗口句柄类型的参数?
    • 怎样将指定长度的Unsignedchar字符串赋予bstr变量,并从bstr变量中读取指定长度的字符串。
    • 结构化异常处理与CloseHandle的困惑
    • 小题大分:用ATL开发COM,DCOM和COM+有什么区别吗!客户端有什么特别的要求?
    • 求助:IE工具条搜索字词标明功能?
    • 老问题,CAB里的OCX自动更新问题!
    • VB做的ActiveX控件如何在局域网Web上发布?
    • windows服务如何使用普通进程中的com组件?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有