Com、Activex、dcom(Com+)相互之间的关系如何?

解决方案 »

  1.   

    C O M是一组A P I和二进制标准,是其他相关技术的基石。O L E用来描述建立
    在C O M体系结构基础上的一整套技术。现在,O L E仅仅是指与对象链接和嵌入有关的技术
    ,比如容器、服务器、就地编辑、拖放和菜单合并等。 A c t i v e X用来描述建立在 
    C O M基础之上的非C O M技术,A c t i v e X技术包括自动化(以前叫O L E自动化)控件、
    文档、容器、脚本化以及几个 I n t e r n e t技术。为了避免混淆,M i c r o s o f t
    现在把非O L E的C O M技术简单地称为基于C O M的技术。
    M i c r o s o f t对C O M做了几年来最重要的更新后推出了 C O M +,它作为
     Windows 2000的一部分。C O M +的目标是通过对最重要的 M T S 和M S M Q 技术的合成,
    简化C O M的开发过程。将这些技术集成到标准的 C O M +运行期环境中,意味着所有的
    C O M +程序员都可以充分利用事务控制 (transaction control)、安全、管理、排队控件、
    出版和预订事件服务等各项功能了。由于 C O M +大都由旧技术组成,因此 C O M +是完全
    向后兼容的,所有已有的C O M和M T S应用程序都可以自动转换成C O M +程序。
      

  2.   

    区别:        COM有两种存在形式,动态连接库和可执行程序,但DCOM必须是可执行程序.因为DCOM不可能在客户程序的内存空间运行,所以不能是动态连接库.        COM(动态连接库形式)可以不用RPC通信,而DCOM必须使用RPC远程调用.         COM(动态连接库形式)与客户共同存在于同一内存空间,调用速度快,DCOM的速度只有COM的万分之一.         COM(动态连接库形式)的安全性不高,客户程序可以造成服务COM发生错误,DCOM安全性高,原因也是COM与客户程序共用内存空间造成的.         COM程序配置简单,DCOM配置较复杂.毕竟DCOM牵涉到网络和安全性.    联系:        客户程序不必知道COM的存在形式,有统一的接口调用方式,客户程序甚至不知道COM对象的位置,可能在同一台计算机上,也可以在半个地球的另一面;         由于DCOM本身就是COM的一种存在形式,具有许多共同点. 
    ActiveX一般是以OCX的形式存在的,ActiveX在DELHPI中是以VCL为核心的,它在VCL外壳上加了一个封套,定义了一个接口,它可以被其他环境的开发工具所用比如PB,VB,常见的有MS的MEDIAPLAER,还有一些ACTIVEFORM,可以分发到网页上,实现系统的分布式
      

  3.   

    Com是一种语言
       无关的二进制分发组件,ActiveX大概是一种二进制分发的控件,其实也只
       是Com技术的一种具体实现方式而已(我这么认为的),DCOM是分布式的Com组
       件,允许Com组件的分布式部署和处理。