小弟学COM遇到很多不解的地方,请高手解疑。分不够再加!~~

strawren 2003-11-18 07:37:46
1、COM和动态连接库有区别,我知道,但COM又是以DLL体现,难道COM可以当作动态连接库用?如果能,他们在运用上有什么区别?
2、COM是跟语言无关,那么COM怎么又能开发出有界面的控件?那么如果在其他语言(除VB)中又怎能用这个控件?这难道脱离了语言无关吗?
3、ACTIVEX究竟是个什么玩意?
4、COM的接口定义有个“[out]”,我知道它是用来输出。但是怎么输出的?(注:它不同“[retval]”连用。最好举个例子说明。
谢谢~~~~~~~~
分不够再加~~~~~~~~
...全文
35 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Promise91 2003-11-25
  • 打赏
  • 举报
回复
因为注册时,COM的一些信息就会登记到注册表中
然后当你的客户程序要调用COM时只要给出相应的一些信息
比如:INTERFACE ID系统跟注册信息就会自动找到组件所以位置,对它进行实例化
xiaohyy 2003-11-18
  • 打赏
  • 举报
回复
>>1、我们创建对象实例时,这个组件必须是注册了的。
为什么实例创建以后还要在注册表中注册呢?

要先注册,才能创建实例

》》2、接口线程模式中的单线程、多线程和Apartment有什么区别??

套间是一个边界。通常采用套间线程。
strawren 2003-11-18
  • 打赏
  • 举报
回复
小弟还有两个个问题:
1、我们创建对象实例时,这个组件必须是注册了的。
为什么实例创建以后还要在注册表中注册呢?
2、接口线程模式中的单线程、多线程和Apartment有什么区别??
Earthdog 2003-11-18
  • 打赏
  • 举报
回复
楼上的都说的差不多了
xiaohyy 2003-11-18
  • 打赏
  • 举报
回复
1、COM和动态连接库有区别,我知道,但COM又是以DLL体现,难道COM可以当作动态连接库用?如果能,他们在运用上有什么区别?

com其实只是使用dll的动态连接的性质。com是一种编程方法。。

2、COM是跟语言无关,那么COM怎么又能开发出有界面的控件?那么如果在其他语言(除VB)中又怎能用这个控件?这难道脱离了语言无关吗?

com的语言无关是指com组件可在兼容com的语言中使用。。

3、ACTIVEX究竟是个什么玩意?
严格来说。activex只是实现了一部分特定接口的,可自注册的com组件。通常是指activex控件

4、COM的接口定义有个“[out]”,我知道它是用来输出。但是怎么输出的?(注:它不同“[retval]”连用。最好举个例子说明。

out就像指针那样输出的。retval是指该参数作为返回值,这个对每个语言的实现可能不通。比如java和vb是函数返回值,而vc中是out参数返回

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧