一、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介面來調用Automation 物件的方法來實現的。在設計ActiveX控制項時就應當考慮控制項可能會發生哪些事件以及包容器程式將會對其中的哪些事件感興趣並將這些事件包含進來。
區別二:方法、屬性和事件的來源:
ActiveX控制項與自動化服務的另一個不同之處在於其方法、屬性和事件均有自訂(custom)和庫存(stock)這兩種不同的類型。自訂的方法和屬性也就是是普通的自動化方法和屬性,自訂事件則是自己選取名字和Dispatch ID的事件。而所謂的庫存方法、屬性和事件則是使用了ActiveX控制項規定了名字和Dispatch ID的"標準"方法、屬性和事件。
二、Active技術的應用:
1、Delphi 編寫ActiveX控制項(OCX控制項)的知識和範例
2、Delphi 編寫ActiveForm表單工程知識和範例(開發瀏覽器用戶端應用程式)