1、com是一种规范,符合规范的组件都可以成为Com组件,和实现语言无关。
2、api 是应用程序接口,范围很广,像win32 api 是windows的编程接口,java的类库可以看成java 的api等等。你自己定义的程序接口也可称为api
3、.net组件如果符合COM规范也是COM组件,没有什么必然关系

解决方案 »

  1.   

    那为什么C#的书上说访问com对象是通过rcw来实现的,这不就说明COM组件与托管代码(即C#)是不同的吗,如果说.net组件如果符合COM规范也是COM组件,那为什么还要通过RCW来实现呢
      

  2.   

    更正一下,
    .net组件是托管的,而COM组件是二进制的本地码,所以.net组件不能是COM组件。
    我的意识是说,用.net编写的非托管代码,如果合乎COM规范,也叫COM组件。^0^
      

  3.   

    COM组件对象与.NET类对象是完全不同的
      

  4.   

    用.net编写的dll确实和com不一样的,虽然能够用wrapper实现互通。因为.net的dll是由CLR来负责调用,实现的机制和com完全不一样。
      

  5.   

    1.com是一种规范.只要符合规范什么语言实现不所谓
    2.api就是实现特定功能的函数接口,比如然人眼花的win32 api,就是ms写的函数接口,给开发人员来提供特定的功能的
    3.net组件和com类似,是一种规范,用C#,vb.net...都可以.只是.net组件肯定是在.net平台上才可以运行了
      

  6.   

    组件是面向对像的,COM和.NET组件也是两种规范和技术;没特别说明API指的是WIN32 API
    和组件区别的是它是一个一个函数,而不是类;VB写DLL、OCX应该是COM组件,VC写的WIN32
    DLL就是函数库了。