ActiveX的基本概念
 ActiveX控件可以看作是一個極小的服務器應用程序,它不能獨立運行,必須嵌入到某個容器程序中,與該容器一起運行。這個容器包括WEB網頁,應用程序窗體等。。。
ActiveX控件的後綴名是OCX或者DLL。一般是以OCX和動態庫共存的形式打包成cab或者exe的文件放在服務器上,客戶端下載後運行安裝cab或exe解壓成OCX和動態庫共存的文件,然後注冊ocx文件。
ActiveX控件是基於com標准,使得軟件部件在網絡環境中進行交互的技術集。它與具體的編程語言無關。作為針對Internet應用開發的技術,ActiveX被廣泛應用於WEB服務器以及客戶端的各個方面。同時,ActiveX技術也被用於方便地創建普通的桌面應用程序,此外ActiveX一般具有界面。


其實OLE是Microsoft的復合文檔技術,它的最初版本只是瞄准復合文檔,但在後續版本OLE2中,導入了COM。由此可見,COM是應OLE的需求而誕生的,所以雖然COM是OLE的基礎,但OLE的產生卻在COM之前。 COM的基本出發點是,讓某個軟件通過一個通用的機構為另一個軟件提供服務。COM是應OLE 的需求而誕生,但它的第一個使用者卻是OLE2,所以COM與復合文檔間並沒有多大的關系,實際上,後來COM就作為與復合文檔完全無關的技術,開始被廣泛應用。這樣一來, Microsoft就開始“染指”通用平台技術。但是COM並不是產品,它需要一個商標名稱。而那時Microsoft的市場專家們已經選用了OLE作為商標名稱,所以使用COM技術的都開始貼上了 OLE的標簽。雖然這些技術中的絕大多數與復合文檔沒有關系。Microsoft的這一做法讓人產生這樣一個誤解OLE是僅指復合文檔呢?還是不單單指復合文檔?其實OLE是COM的商標名稱,自然不僅僅指復合文檔。但Microsoft自己恐怕無法解釋清楚,這要花費相當的精力和時間。



隨著Internet的發展,在1996年春,Microsoft改變了主意,選擇ActiveX作為新的商標名稱。ActiveX是指寬松定義的、基於COM的技術集合,而OLE仍然僅指復合文檔。當然, ActiveX最核心的技術還是COM。ActiveX和OLE的最大不同在於,OLE針對的是桌面上應用軟件和文件之間的集成,而ActiveX則以提供進一步的網絡應用與用戶交互為主。

    到這裡,大家應該對ActiveX、OLE和COM三者的關系有了一個比較明確的認識,COM才是最根本的核心技術,所以下面的重點COM。
       使用windows的人對於ActiveX控制一定不會陌生,它提供了一種類似於DLL動態鏈接庫的調用,不過它與DLL的唯一區別就是ActiveX不注冊不能被系統識別並使用。那麼,當我們得到一個ActiveX沒有被正確安裝且不能使用的消息後,又要安裝ActiveX怎麼辦呢?

    1.Regsvr32程序法    在Windows的System文件夾下有一個regsvr32.exe的程序,它就是Windows自己帶的ActiveX注冊和反注冊工具。利用它也能夠非常方便地注冊ActiveX控件,它的用法為:regsvr32 /u /s /n /i dllname, dllname其中dllname為ActiveX控件文件名,建議在安裝前拷貝到System文件夾下參數有如下意義:/u - 反注冊控件 /s - 不管注冊成功與否,均不顯示提示框 /c - 控制台輸出 /i - 跳過控件的選項進行安裝 (與注冊不同) /n - 不注冊控件,此選項必須與 /i 選項一起使用例如筆者要注冊一amovie.ocx控件,則打入 regsvr32 amovie.ocx即可,要反注冊它時只需使用 regsvr32 /u amovie.ocx就行了。

    2.注冊表法    所謂注冊ActiveX,無非是將一些信息記錄在Windows的注冊表中,如Shockwave Flash Object控件,我們可以運行Regedit.exe注冊表編輯程序,利用關鍵字進行搜索,然後把搜索得到後的注冊表導出為一Reg注冊表文件,再將其相應的ActiveX文件拷貝到windows的System文件夾(一般ActiveX的文件名為OCX,安裝在windows的System文件夾內)下,最後在要安裝ActiveX的機器上雙擊導入剛才導出的注冊表文件即可完成安裝。

       Activex,OLE,COM都是微軟的一些技術標准。Ole比較老後來發展成Activex,再後來發展成為COM。OCX,DLL是擴展名。 Activex有兩種擴展名OCX和DLL。實際上你可以把它們的擴暫名字調換。 COM作為ActiveX的更新技術,擴展名也有可能是DLL DLL文件還有可能是動態鏈接庫。主要是裝載一些函數,可以動態加載

   
http://qiusuoge.com/9489.html

arrow
arrow
    全站熱搜

    天才R 發表在 痞客邦 留言(0) 人氣()