关于ActiveX控件的问题

周详521 2008-11-05 12:42:36
1、ActiveX如何提供接口供外面调用,以及外面如何调用
2、ActiveX的对象的生命周期是如何管理的。主要关注:多个IE访问同一个ActiveX控件页面的对象是如何销毁的
3、Web浏览器的原理(可选)


请帮我解决前两个问题,主要是问题1,2.谢谢
...全文
85 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
macfan 2008-11-05
  • 打赏
  • 举报
回复
[Quote=引用楼主 czxczq521 的帖子:]
1、ActiveX如何提供接口供外面调用,以及外面如何调用
2、ActiveX的对象的生命周期是如何管理的。主要关注:多个IE访问同一个ActiveX控件页面的对象是如何销毁的
[/Quote]
1.通过接口函数.用VC 的depends工具,能查看ACTIVEX中定义的一些接口函数。
星羽 2008-11-05
  • 打赏
  • 举报
回复
沙发 + up 先
帅得不敢出门 2008-11-05
  • 打赏
  • 举报
回复
发现上面的一个连接失效了
可以直接查msdn 搜索ActiveX 下拉列表中会有各种activex应用说明
vc mfc c# javascript等。
帅得不敢出门 2008-11-05
  • 打赏
  • 举报
回复
这个应该看文档吧
摘一段
使用ActiveX的方式多种多样(COM 在将来会用到)。例如,Microsoft 发布了一个称之为 ActiveXAccessibility的ActiveX API 。这个 API 设计用于向Internet添加那些已添加到 Windows 95 中的Accessibility Applet(含有内容的小程序)。类似于Sticky Keys(一种每次按一个键而不是同时按住所有键的方式来创建CTRL组合键的方法)这样的方法,不仅出现于Windows 95和Windows NT 4.0桌面系统,而且正在出现于与ActiveX 兼容的Internet浏览器中。
还有其它一些(由Microsoft和其它公司开发的)基于ActiveX的技术已经投入使用棗这样的技术实在太多了,这里难以一一罗列。更重要的 ActiveX技术之一是ActiveMovie,事实上,MSNBC Internet站点已经使用ActiveMovie提供NBC新闻网络的新闻剪辑了。实际上,ActiveMovie使你能在Internet上看电影剪辑、放映AVI和其它种类的电影文件。
注 ActiveX提供了把令人激动的新技术从桌面系统转移到Internet的手段。
Web链接 刚才讨论的新技术可以查到更多的可用信息。可以在
http://www.microsoft .com/enable/dev/msdn4.htm中找到ActiveX Accessibility。ActiveMovie控件的使用说明和技术手册出现在
http: //www.microsoft.com/msdn/sdk/inetsdk/help/complib/activemovie.htm中。
最重要的ActiveX技术并不是新颖而令人激动的技术,而是涉及到一个老生常谈的问题,即在Internet上共享文档。因为接口是静态的,这确实一直是一个大问题。读过第8章后,考虑一下为了创建任意种类的动态接口所需的程序复杂度和所需的标记数量,就会认识到这一点。是的,你能把字处理文档结合一些现实的数据嵌入到HTML,但是数据并未变化,用户还是难于编辑它。对于电子表格也是一样。显示数据一般说来并不太难,只要你肯于牺牲最新信息。 ActiveX提供了解决办法,它允许你创建动态文档,你可以编辑它并且看到它的实时变化。
那么,这一技术是从什么地方神秘地冒出来的呢?其实它一点也不新颖,Microsoft 只不过简单地修改了 Microsoft Office 中的技术而已。ActiveXDocument原来的名称为OLE Document Objects(文档对象)(大多数人,包括Microsoft的人,已把ActiveX Document简记为ActiveDocument,本书中我们将一直使用这个术语,原因在于它既清楚又简单)。它是Microsoft Office Binder 技术的一部分,从未打算成为一个公开的规范。最初甚至在能得到OLE DocumentObjects规范之前,必须申请Office兼容的程序。只是到了Windows 95出现之后,这一规范才成为每个人都能得到的东西。有迹象表明,Microsoft 会把这一规范公开的,原因在于它是OLE演变中的下一个逻辑步骤。
本章的中心内容是ActiveDocument。我们要考察一下,除了数据应用之外,什么是ActiveX的最重要的用途。另外你还将看到,创建浏览器使用的ActiveXDocument是多么容易。另外,本章还将介绍一下创建你自己的定制文档的一些设置时,你需要做些什么工作。
注 你可能会听到有人将ActiveX文档称为OLE文档对象,另外有些人将它们称为ActiveDocument文档。
本章将介绍三个主要的ActiveDocument主题。首先让我们看一下 WebPublishing Wizard。如果你不了解从用户角度看ActiveDocument是如何工作的,那么你应该密切关注这一节的内容了。总而言之,怎么能期望写出你自己都不理解的应用程序呢? 接下来我们考察一下ActiveDocument的理论基础,最重要的是你要实现的接口。最后,我们创建一个简单程序,它实现了 ActiveDocument所需的接口。
注释 本章的例子全部采用Visual C 6.0,但是,除了一些小的程序性变动之外,也可以容易地使用4.2以上版本的Visual C (代码本身应该工作的一样好)。你必须拥有Visual C 的某种版本(推荐 6.0 版),以便于从头至尾地学习本章的例子。也可用Visual C 4.1来学习这些例子,但你在工作中却要尽量少用为好。例如,可能需要添加对Visual C 4.2以上版本作为缺省支持的各种新类的引用。另外,创建例子时,也不如使用新一些的产品那样,自动化程度高一些。理论上,使用Visual C 4.0创建这些例子也可以。但所需的工作量很大,无疑使用该编译器的升级版显得更容易些。

其他的都是零碎的说明了
http://www.bitscn.com/hack/safe/200607/48294.html
http://www.zaoxue.com/article/tech-33498.htm
http://www.xy-365.com/company/s_16334.htm
jia_xiaoxin 2008-11-05
  • 打赏
  • 举报
回复
2.
这都是通过引用计数来实现的,每一个ActiveX控件页面被IE访问一次,它的引用计数就增1,每关闭一个IE页面,它的引用计数就减1,当引用次数变为0,时ActiveX控件对象就会被销毁。
jia_xiaoxin 2008-11-05
  • 打赏
  • 举报
回复
1.
ActiveX控件是基于com原理来实现的,
com就是统一的标准--通过接口来调用com组件.接口是你的com组件能被外界所感知的部分,实际就是一组方法(虚函数).
IUnknown是所有接口的基础,他负责两项工作:
IUnknown::QueryInterface负责得到该组件的其他接口的指针
IUnknown::AddRef/Release负责管理该组件的生存期,但有人使用该组件时,保证该组件不会被意外删除;再没人使用该组件时,保证该组件被自动删除
yangkunjie 2008-11-05
  • 打赏
  • 举报
回复
通过引用计数
yayafu 2008-11-05
  • 打赏
  • 举报
回复
ActiveX如何提供接口供外面调用,以及外面如何调用
ActiveX提供com接口供外面调用,外面获得它的com接口来调用,如CoCreateInstance中的说明.

ActiveX的对象的生命周期是如何管理的
获得com接口后,使用完毕要释放接口,Com就会自己管理生命周期

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧