我无法理解这些术语之间的差异。
COM 和 ActiveX 是同义词吗?
ActiveX 对象只是公开 IDispatch 的 COM 对象吗?
许多旧的 MSDN 页面提到 IDispatch 时没有任何 COM 上下文。它是否有单独的历史,并且是在其生命周期的后期在 COM“保护伞”下引入的?
OLE 适用于哪里?它在 MFC 命名和 MSDN 中是否(相当大)存在 - 全部只是遗留问题?
维基百科提供了一些见解,但不多。我找不到更深入的参考。
找到了一些引述COM 编程示例:
您很快就会发现的另一件事
COM是营销实地考察
日与术语。而不是
帮助促进理解,
你会发现在大多数情况下它会促进
神秘。 ... OLE、ActiveX、远程
对象 - 其中一个意味着什么
星期? ...
COM 从解决方案演变而来
具体问题-如何允许一个词
处理器来编辑电子表格
无需用户退出即可发送信件
文字处理器来做到这一点。这
解决方案被称为 OLE。 ... 然而,
随着 OLE (OLE2) 的第二个版本,
它的创建者将 OLE32.DLL 修改为
暴露更多的基本功能
OLE 以便可以使用它的 API
允许任何应用程序访问
另一个的功能。这个API,
自1993年以来没有太大变化,
被认为是 COM
API。
...
一旦 COM API 被公开,
微软用它来创造了
然后调用OLE控件来允许
复杂的控制(例如按钮
那个螺旋,播放的列表框
音乐)用 Visual C++ 编写
可通过 Visual Basic 访问
应用程序。最终还是这个
技术被用来允许控制
由您的网站下载和使用
浏览器。此时,名字
更改为 ActiveX 控件或只是
纯 ActiveX 纯粹用于营销
原因。虽然你可以打包任何
ActiveX 控件中的功能,
它的要求是
专门用于支持用户
界面控制。
我仍然对最后一句话感到好奇 - COM 对象必须满足一些附加要求才能成为 ActiveX 控件吗? ——但这足以让它过去。
感谢您的回答!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)