Ben*_*Ben 69
OLE:这是一种将一个文档的部分链接到另一个文档的部分的方法.例如,使用嵌入了Excel图表的PowerPoint幻灯片.更新Excel电子表格后,图表也应更新.当你重新打开PowerPoint时,它神奇地拥有了!(此示例是链接对象.)嵌入对象与外部文件中不存在Excel电子表格相同,电子表格的数据包含在PowerPoint文件中.
您可以使用链接对象将Excel,Word和PowerPoint文档相互嵌入.其他应用程序专门用于支持嵌入到Word中,例如Microsoft公式编辑器.
OLE 1构建在DDE上,它使用窗口消息在源数据更改时通知应用程序,并且通常使用HGLOBAL全局内存句柄传递数据.
OLE 2是在COM上构建的.
COM是一种语言中立的,面向对象的组件模型和基于DCE RPC的ABI.作为RPC系统,它支持在同一台机器上的进程之间进行远程调用,之后使用DCOM在不同的机器上进行远程调用.最初COM被用作MAPI体系结构的一部分(它使用COM对象模型,但不使用COM注册服务),然后作为一般对象模型正式启动,完成注册表和对象激活以及其他服务.(例如,Monikers和结构化存储.)
OLE自动化与OLE无关 - 它只是一个品牌连接.OLE自动化是COM的Visual Basic兼容子集,它仅支持基本数据类型(例如,没有无符号整数或结构),但包括对象(COM接口).
但是OLE控件与OLE相关.它们是主要针对Visual Basic用户的可视化组件,从VB 4开始,但可视化元素是使用OLE 2的嵌入工具提供的.它们也可以由任何能够托管OLE 2的东西托管(理论上,如果正确编写)嵌入式对象,也常用于C++应用程序.它们通常使用OLE自动化兼容接口在运行时进行编程.
从微软试图推广用于扩展Web应用程序的技术时起,ActiveX控件就是COM对象的营销术语.
COM 是 OLE 演变而来的。OLE 是一组接口和数据存储机制,用于促进应用程序之间的数据共享。COM 是使用接口的自然扩展,不仅可以共享数据,还可以共享运行时功能 - 数据由实际机制处理以方便使用。我一直把它粗略地描述为 C 和 C++ 之间的区别,在 C 中,您可以共享头文件和结构,而在 C++ 中,您可以共享封装的对象。
作为一个肥皂盒,我仍然想念 OLE 结构化存储,因为在协作系统之间共享不透明数据存储有一些好处。看到拖放/剪贴板仍然取决于它,我想知道 .Net 替代品是什么?
归档时间: |
|
查看次数: |
15264 次 |
最近记录: |