描述:
在COM编程中,经常看 自动化服务器、OLE自动化、自动化客户或自动化控制器等概念,请问“自动化”所指的是什么意思???
解决方案1:
自动化使用标准COM接口IDispatch来存取对象的自动化接口。因此,我们说任何实现IDispatch的对象实现了自动化。
为什么要自动化?
最初开发自动化是作为一种应用程序(例如Word和Excel)用以把其功能显露给其他应用,包括脚本语言的方式。目的是提供一种简单方式来访问属性和调用方法,这种方式尽可能少的占用自动化客户的资源,并且不需要被访问对象的类型信息就可以进行调用的方法。
使用自动化,对象就可以提供一个简单的自动化接口,这样程序员只需掌握IDispatch和几个COM应用程序接口就可以了。
补充:
只要一个对象实现了IDispatch接口,那么它就是一个自动化对象,反之亦然。
自动化对象的IDispatch接口可以作为OLE的标准接口,由于OLE已经提供了标准的接口代理和存根组件,所以自动化对象即可以运行在dll中,也可以运行在exe中。
自动化的核心是IDispatch接口,每一个自动化对象都必须实现这个接口。
自动化简化了COM的一些底层细节,比如属性和方法的处理、一组专用于自动化的数据类型等。
自动化也是OLE的基础。
我也胡乱说说,欢迎指正。
自动化就是从idispatch接口,产生的对象。
从idispath接口产生有很多好处。
eg.后绑定,比较灵活。大概这就是自动化的原因。
坏处:效率稍微低些。
欢迎批评。