Automation Object跟COM Ojbect相比有什么不同点? 两者的适用场合如何?(50分)

  • 主题发起人 主题发起人 Adnil
  • 开始时间 开始时间
Automation一般是作为一个应用程序控制另一个应用程序的自动化,也是一种COM。
Automation基础类是AUTOOBJ,实现的是IDISPATH接口;而一般的COM的基础类是
TCOMOBJ,TTYPEDCOMOBJ等,是低级一点的类,从IUNKOWN继承的,引用了VTABLE表。
如果你想控制另一个程序,可用Automation,如果你想在进程内调用,用COM效率
好一点。
 
1、Automation Object 可以跨越进程相互调用,而Com Ojbect不行
2、Automation Object 是支持IDispatch接口的 COM Object
IDispatch中实现了Invoke调用 用以实现跨进程的调用
譬如说DCOM就是
简单的说进程内的最好使用 COM Object
进程外的只能使用Automation Object
 
>> 1、Automation Object 可以跨越进程相互调用,而Com Ojbect不行
>>进程外的只能使用Automation Object

真的???
 
如果我想开发这样一个组件,允许Delphi,ASP,Visual Basic等开发工具或者客户端来
调用,不需要支持事务,我该应用哪个?
 
>>1、Automation Object 可以跨越进程相互调用,而Com Ojbect不行
>>进程外的只能使用Automation Object
不是吧?我好像写过一些COM Object可以跨进程啊!

 
如果你想让ASP 能够调用你的组件,只能是Automation Object
因为非Automation的COM组件不支持脚本语言

 
I don't think the difference between Automation and COM object is due to in process or
out of process. the difference is difference between the com and ole
 
我认为二者的主要区别是Automation Object可以用variant方式和IDisopatch接口方式调用。
实现上delphi已经代劳了。
 
感谢你们的帮助
 

Similar threads

回复
0
查看
863
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部