一、Active技术介绍:
1、Active文档涉及到的接口
1>、IOleDocument接口:此接口是ActiveX文档服务器中的接口,它使一个文档对象能够与其包容器进行通信,并用其数据去创建视图,该接口也可以使一个文档对象能够枚举其视图并为包容器提供相关信息,如是否支持多视等。
2>、IOleDocumentView接口:使一个包容器程序能够通过文档对象的支持而与每一个视图进行通信。
3>、IOleCommandTarget接口:可以使服务器对象及其包容器程序分发命令。
4>、IPrint接口:则可以使任意的复合文档和特定的活动文档能够支持打印。
5>、IOleDocumentSite接口:此接口是ActiveX文档包容器中的接口,它使一个已经作为文档对象实现的文档在现场激活对象时绕过通常的激活次序,并直接指示其客户站点作为一个文档对象而将其激活。
6>、文档站点:是一个具有特殊功能的客户站点,它能直接指示其客户站点作为一个文档对象而将其激活。包容器程序需要为每一个文档对象提供一个相关的文档站点,这些站点对象为每一个活动文档的视图实现了一个独立的文档视图站点对象。
2、Active控件
相比之下,ActiveX控件可以说是在所有COM应用中使用最为广泛的一种COM组件。这种COM组件集成了COM的各种应用基础,如OLE文档、自动化、类型库等。ActiveX控件通常以DLL或OCX形式存在,而且只能在包容器程序中使用而不可独立运行,这与ActiveX文档是不一样的。
ActiveX控件是一种实现了一系列特定接口而使其在使用和外观上更象一个控件的COM组件。ActiveX控件这种技术涉及到了几乎所有的COM和OLE的技术精华,如可链接对象、统一数据传输、OLE文档、属性页、永久存储以及OLE自动化等。
3、ActiveX控件与自动化服务的联系与区别:
ActiveX控件作为基本的界面单元,必须拥有自己的属性和方法以适合不同特点的程序和向包容器程序提供功能服务,其属性和方法均由自动化服务的IDispatch接口来支持。
区别一:事件;
除了属性和方法外,ActiveX控件还具有区别于自动化服务的一种特性--事件。事件指的是从控件发送给其包容程序的一种通知。与窗口控件通过发送消息通知其拥有者类似,ActiveX控件是通过触发事件来通知其包容器的。事件的触发通常是通过控件包容器提供的IDispatch接口来调用自动化对象的方法来实现的。在设计ActiveX控件时就应当考虑控件可能会发生哪些事件以及包容器程序将会对其中的哪些事件感兴趣并将这些事件包含进来。
区别二:方法、属性和事件的来源:
ActiveX控件与自动化服务的另一个不同之处在于其方法、属性和事件均有自定义(custom)和库存(stock)这两种不同的类型。自定义的方法和属性也就是是普通的自动化方法和属性,自定义事件则是自己选取名字和Dispatch ID的事件。而所谓的库存方法、属性和事件则是使用了ActiveX控件规定了名字和Dispatch ID的"标准"方法、属性和事件。
二、Active技术的应用:
1、Delphi 编写ActiveX控件(OCX控件)的知识和样例
2、Delphi 编写ActiveForm窗体工程知识和样例(开发浏览器客户端应用程序)
载自:http://blog.csdn.net/zhongguoren666/article/details/7001147