com组件既然是二进制接口的,那么在windows平台下应该可以在任何开发平台上使用吧比如用ATL编写的com 组件可以在vc,vb,.net,delphi,c++ builder底下使用吧还有到底该用什么工具编写com组件啊在.net底下可以么,假如可以的话那用的时候是不是需要先安装.net还有.net下的vb.net,c#语言均不支持指针,那怎么编写通用的com组件啊这些问题实在不解,请高人指点

解决方案 »

  1.   

    com组件既然是二进制接口的,那么在windows平台下应该可以在任何开发平台上使用吧
    ——是的,只要那种平台支持COM。比如用ATL编写的com 组件可以在vc,vb,.net,delphi,c++ builder底下使用吧
    ——是的。还有到底该用什么工具编写com组件啊
    ——个人感觉还是用VC好,用ATL。在.net底下可以么,假如可以的话那用的时候是不是需要先安装.net
    ——这个怎么说呢?VC.net也是.net开发平台的一部分,所以嘛,当然可以咯。还有.net下的vb.net,c#语言均不支持指针,那怎么编写通用的com组件啊
    ——vb.net和C#如果要调用COM组件,不是通过指针的。
    ——其实不仅vb.net,就连vb6.0也同样没有“指针”啊。
      

  2.   

    多谢楼上的回复,但还有几点不明白
    比如用ATL编写的com 组件可以在vc,vb,.net,delphi,c++ builder底下使用吧
      -----但是我在用vc的时候寻找控件的时候,会发现一些是vc的控件,一些
        是delphi的控件,感觉两者不能混用啊,难道那些控件不是com组件在.net底下可以么,假如可以的话那用的时候是不是需要先安装.net
      ----我是说在.net下开发的com组件 ,我们在别的机子上调用的时候,是不是
      要先安装.net框架才能调用啊
    还有.net下的vb.net,c#语言均不支持指针,那怎么编写通用的com组件啊
    ----我是说vb.net c#语言都不支持指针,不用指针能实现com组件的编写么
      很是奇怪再次感谢
      

  3.   

    偶对COM也是一知半解,更详细的也说不清楚了。
    下面的是把自己知道的说一下,顺便帮你顶一顶,再等高手来回答吧。:)-----但是我在用vc的时候寻找控件的时候,会发现一些是vc的控件,一些
        是delphi的控件,感觉两者不能混用啊,难道那些控件不是com组件
    ——只要是COM的组件,VC是可以用的,但能否无缝地嵌入到VC的可视化界面设计工具中,就不清楚了。在.net底下可以么,假如可以的话那用的时候是不是需要先安装.net
      ----我是说在.net下开发的com组件 ,我们在别的机子上调用的时候,是不是
      要先安装.net框架才能调用啊
    ——用.net开发COM偶不是很熟悉。至少开发进程内组件的话,仿佛C#也没什么优势吧,又不能使用那些.net上的库。
    还有.net下的vb.net,c#语言均不支持指针,那怎么编写通用的com组件啊
    ----我是说vb.net c#语言都不支持指针,不用指针能实现com组件的编写么
      很是奇怪
    ——没做过大的VB开发,这个就不好说了。不过见到过别人用VB开发ActiveX控件,那就是COM组件的一种。
    ——理论上当然不需要有指针,底层的事情让编译器去搞定好了,不一定一切都手工来。
      

  4.   

    我是说vb.net c#语言都不支持指针,不用指针能实现com组件的编写么
      很是奇怪
    -----------------------------
    既然是独立编译平台,当然根据语言来写。这跟指针不指针没有关系的。
    都会转换成 IDL 语言。 也就是说,com之间的交互是有另外一种独立的表示语法,只要编译器支持到这种语法的转换。
      

  5.   

    比如用ATL编写的com 组件可以在vc,vb,.net,delphi,c++ builder底下使用吧
    ==================================
    可以,在这些环境下我都用过 COM还有到底该用什么工具编写com组件啊
    =================
    显然用 MS 的工具比较好。我使用的 COM 是在VC6 中生成的,
    所以没有 .net 框架的安装问题。
    如果是应用程序,
    在 vc.net 下生成的话, (com 用 vc.net 做可能更合适)
    必须要安装 .net 框架,
    但是这个 com 的话,就不确定了 ...
      

  6.   

    com 原则上是要有独立性的,
    我估计,
    vc.net 下生成的com 应该不需要框架资源 ...
      

  7.   

    还有.net下的vb.net,c#语言均不支持指针,那怎么编写通用的com组件啊
    ----我是说vb.net c#语言都不支持指针,不用指针能实现com组件的编写么
      很是奇怪
    /////////////////////////////////
    不支持指针也一样可以写组件,先别说C#了,就是VB6已经支持写COM组件,
      

  8.   

    这个问题不复杂,但不好回答。
    首先,目前主流开发工具都可以开发COM。
    其次,在不支持指针的开发工具中使用对象封装了COM指针,这个封装过程是人家开发工具提供的,无法公开。
    最后,编写通用的组件对外接口最好用IDispatch。需要指明的是不用IDispatch也是可以的,只要你提供了类型库(Type Library,简称TLB),大多数开发工具都支持。
      

  9.   

    是啊是啊,VB程序员不用指针,不代表开发VB编译器的程序员也不用指针