1.容器应用程序 与 服务器应用程序
容器应用程序:其中可以嵌入或链接对象的应用程序。
服务器应用程序:被嵌入或链接的对象被双击时,可以被启动的应用程序。
例如在word中嵌入一个或链接一个Excel表格对象,excel就是拥有这个表格对象的服务器应用程序,word则是可以容纳这个表格的容器应用程序。
2.可以把ActiveX控件看做是一个极小的服务器应用程序,它不能独立运行,必须嵌入到某个容器程序中,与该容器一起去运行。
ocx是ActivieX控件的一种后缀名,也可以是其它后缀名,如dll。
它的底层是采用COM技术实现的。
它必须在注册之后才能使用。
3.可以在VC++中通过MFC ActiveX控件向导创建一个ActiveX控件程序的框架。
调度映射:
事件映射:
运行这个工程,可以选择C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\tstcon32.exe来测试运行这个控件。
4.CoCreateInstance
http://www.cnblogs.com/fangyukuan/archive/2010/06/11/1756724.html
5.ATL为COM对象的Idispatch接口提供了两个模板类:IDispEventImpl<>和IDispEventSimpleImpl<>,选择IDispEventSimpleImpl<>,因为它不需要额外的类型库信息,从IDispEventSimpleImpl<>继承一个类。
.com对uuid的实现被称为guid
You cannot advise the same sink to more than one source. If for some
reason you want to do that, you'll need to have a separate class derived
from IDispEventImpl to act as a sink, and create a new instance of this
class for each new event source.