1、OCX組件的來歷web
通常的開發工具都會提供一些標準控件,但無論標準控件多麼強大、多麼完善,都不能徹底知足用戶的須要。因此易語言就提供一個接口,容許用戶編寫本身的控件插入到易語言中使用。用戶編寫本身的控件在使用方法上同標準控件是相同。按照易語言的接口標準編寫的控件就是OCX。因爲使用OCX能夠節省開發軟件的時間,因此如今幾乎全部開發工具都容許用戶使用OCX來加強其功能。後來隨着Internet的流行,微軟又讓網頁中能夠嵌入OCX,並稱其爲 ActiveX控件。目前能夠編寫OCX的工具包括VB、VC、Delphi。易語言也即將支持OCX。編程
2、OLE和OCX的關係小程序
OLE和OCX通稱對象連接與嵌入。易語言已經過超級連接框等實現不少對象的連接功能,對象的嵌入易語言也即將支持。 OLE 與OCX的應用主要是源於將多個應用信息源組合到一塊兒的目標,OCX即將在易語言中獲得普遍的應用,由於它能更好的與易語言的應用程序相結合,從而實現易語言很差實現或是很難實現的功能。實際上,易語言自己以及Visual Basic等等其它程序會提供多處實現特定功能的OCX控件。經過它們,咱們能夠很是容易的實現一些易語言自己不能實現的功能。瀏覽器
3、控件與DLL的關係安全
組件的前身是動態連接庫(DLL),DLL使咱們可以用一種語言開發一個能夠用於任何其餘語言的過程庫。DLL的另外一個強大的功能是在運行期間被加載的,這使得咱們可以將開發任務劃分爲一個個組件而沒必要開發並靜態連接一個大型應用程序。服務器
4、什麼是ActiveX插件(控件)?網絡
根據微軟權威的軟件開發指南MSDN(Microsoft Developer Network)的定義,ActiveX插件之前也叫作OLE控件或OCX控件,它是一些軟件組件或對象,能夠將其插入到WEB網頁或其它應用程序中。 ActiveX (COM)技術是一種嵌入式程序技術,它其實就是OLE和 OCX的融合。框架
ActiveX是Microsoft提出的一組使用COM(Component Object Model,部件對象模型)使得軟件部件在網絡環境中進行交互的技術。它與具體的編程語言無關。做爲針對Internet應用開發的技術,ActiveX被普遍應用於WEB服務器以及客戶端的各個方面。同時,ActiveX技術也被用於方便地建立普通的桌面應用程序。在Applet中可使用ActiveX技術 ,如直接嵌入 ActiveX控制,或者以ActiveX技術爲橋樑,將其它開發商提供的多種語言的程序對象集成到Java中。與Java的字節碼技術相比,ActiveX提供了「代碼簽名 」(Code Signing)技術保證其安全性。編程語言
ActiveX是Microsoft的元素軟件標準。簡單地說,ActiveX技術是一種共享程序數據和功能的技術。它由微軟提出並大力推廣,並已成爲事實上的標準。 ActiveX 技術是Microsoft對OLE技術的更新和發展,Microsoft公司爲了適應網絡的高速發展把它的OLE技術和OCX技術融爲一體並加以改進造成聯合標準,改進以後賦予新名字ActiveX。也就是說,ActiveX中涵蓋了OLE的全部技術和功能,同時又具備許多新的特性,以適應網絡發展的須要。分佈式
ActiveX指的是一組包括控件、DLL和ActiveX文檔的組件,它一般以動態連接庫的形式存在,其設計思想是將一個程序(好比Flash動畫)嵌入到另外一個程序中(這個程序一般被稱作容器,好比Authorware、Delphi、VB、VC、Internet Explorer等)。藉助這種技術使得用戶在一個程序中所建立的信息能夠被集成到其它程序所產生的文檔中。.這樣就可以使它(如Flash動畫)能夠隨意地應用到各類場合。 ActiveX控件的數據輸入和函數功能執行都必須經過容器,所以ActiveX控件和容器之間必須有一些特定的接口協議。
ActiveX控件必須具有以下的性能機制:
屬性和方法:ActiveX控件必須提供屬性的名稱、方法的名稱及參數,經過這項機制,容器能夠存取和改變ActiveX控件的屬性參數。
事件:ActiveX控件由這項機制通知容器在ActiveX控件中發生的事件,好比屬性參數的改變,用戶按下鼠標左鍵等。 雖然在本質上ActiveX和OLE是同一種技術(實現不一樣程序的數據和功能的共享),但其目的有所差異。
ActiveX的目的主要是共享程序模塊之間的計算功能,生成一些專門的能夠嵌入其餘程序中的「小程序」,例如Microsoft web瀏覽器控件可使得別的應用程序可以瀏覽(僅僅是瀏覽而不是建立)Web網頁。 ActiveX控件是一個模塊化的靈活對象,若是某個應用程序或網頁須要增長一項特殊的功能,則無須重寫整個程序,只要靈活地插入一個具備此項功能的ActiveX控件便可實現, ActiveX的優點還在於它的動態可交互性,用戶能夠動態地在使用過程當中,經過改變它的屬性和參數,在應用程序中實現本身的特殊要求。
5、什麼是COM?
爲了提供使對象可以與主應用程序通訊的一種標準,微軟原來引入了對象連接和嵌入(OLE)。原來規範的目標是提供一種途徑,使應用程序,如Excel可以將電子表格嵌入到其餘支持OLE標準的應用程序中。那時,人們認識到,OLE支持一種技術的基礎,這種技術使得可以共享類屬的對象,即組件對象模型(COM)。這種概念用於爲OCX組件建立一種組件規範。這將咱們帶到了當前的標準ActiveX和ActiveX控件,OLE和OCX的發展最終造成了 COM的頂尖產物。 能夠將COM看做是在兩塊代碼之間共享組件的二進制標準。COM根據對象能夠完成的功能使得對象實現抽象化。對象能夠完成的功能在其接口部分描述。接口就是對象能夠實現的一組在邏輯上相關功能的訪問方法。每一個對象都擁有一個惟一的類ID(CLSID),它使用任意的一組接口。全部類必須具備IUNKNOWN接口,這個接口又能夠被用於訪問這個類支持的任何接口。這是一種功能強大的對象模型,由於它使應用程序可以在運行過程當中肯定任意一個對象是否能夠完成某一項任務。
COM對象是經過幾個方法來實現的。能夠將COM對象編譯成 DLL或OCX,它們能夠與調用應用程序在相同的進程空間中運行。COM對象還能夠象編譯過的可執行文件同樣在它本身的進程空間中運行。利用分佈式COM (DCOM),對象能夠運行在不一樣的機器上,便可以運行在世界的任何位置。
儘管COM對象的實現代碼可能處於不一樣的進程中或不一樣的機器上,但COM對象系統服務去除了調用COM對象的複雜性。ActiveX組件是COM對象,這些對象實現了一套基本的接口,使組件可以被嵌入到能夠主控ActiveX組件的應用程序中去。
6、OLE與COM的關係
組件對象模型COM(Component Object Model)是OLE的心臟,它不但提供了一個實現OLE的框架,還爲一整類新軟件提出了一種全新的設計思想。它是一種面向對象的結構,定義了一套對象間相互通訊的標準方式,規定了如何使一些小的、定義良好的軟件模塊在系統中共存並充分地相互做用。依照這種結構,能夠將若干元件組合起來,以創建更大的和更復雜的系統。
7、ActiveX的來歷是怎樣的
ActiveX的演變最先能夠回溯到早期的剪切和粘貼以及後來的OLE(Object Link and Ember——對象的連接與嵌入)技術。實質上,ActiveX已經不只僅是一個技術上的問題,而是微軟的整個Internet戰略的中心環節。微軟把它的OLE和OCX技術融爲一體並加以改進,將所造成的聯合標準命名爲ActiveX。ActiveX把控件規範得更加精練,使得這些控件更加小巧並且效率更高,同時增強了其接口對數據和特性的管理。ActiveX能夠幫助應用程序開發者、Web網頁製做者創建動態的Internet工具、網頁和站點。實際上能夠將Microsoft提供的ActiveX控件當作是一個小的應用程序庫。這些小程序對外提供接口,能夠編寫腳本語言(如用Vbscript等語言編寫)並對其進行控制,這樣就能使網頁更加生動。
8、OLE控件的宗旨
OLE控件的思想在於:開發出即插即用的可重複利用的代碼,使第三方用戶開發的控件很容易在本身的開發環境中獲得應用。它的實質就是,用現有構件(控件)構造程序,即構件式軟件。
9、對象嵌入(OCX)通俗的叫法
咱們日常所說的窗口套窗口就是對象嵌入的一種。