COM Object和Automation Object有什么区别?(200分)

  • 主题发起人 主题发起人 DreamTiger
  • 开始时间 开始时间
D

DreamTiger

Unregistered / Unconfirmed
GUEST, unregistred user!
刚开始学习COM,看书时对于COM Object和Automation Object的区别不是很清楚。
Automation Object应该是应用了COM技术,但是为什么需要有Automation Object?
如果我希望写一个东东,比如,GBBig5转换的,希望别的程序可以通过COM接口
调用,那么,应该在创建的时候,选择COM Object还是Automation Object?是不
是COM Object在使用的时候可以创建多个,而Automation Object只能创建一个?
 
都可以!!
 
我不是仅仅想知道是否可以,而是想知道,用哪个更合适,为什么?
 
呵呵 看来你还是糊涂的很
Automation Object 是支持IDispatch接口的 COM Object
IDispatch中实现了Invoke调用 用以实现跨进程的调用
譬如说DCOM就是
简单的说进程内的最好使用 COM Object
进程外的只能使用Automation Object
明白了么? 给我分吧 :〉
如果你要写得只是一个B2G得转换COM Object足矣
(使用Automation Object 的效率很低)
 
Tintin:
多谢回答,不过还有一些不明白的:为什么说Automation Object的效率很低?
 
Automation Object 为了Invoke 调用,
所以做需要许多额外的工作实现IDispatch
所以IDispatch接口非常得简单易用
VB里使用的都是 Automation Object
 
我还是不清楚
 
写成COM Object的是否在用的时候会创建多个实例,而
用Automation Object的则只能创建一个?
 
请结束或继续!
 
再看看这个吧,和tintin说得差不多:
http://www.delphibbs.com/delphibbs/DispQ.asp?LID=420919
 
多人接受答案了。
 
后退
顶部