OLE技術是什么?Object Linking and Embedding,對象連接與嵌入,簡稱OLE技術。OLE 不僅是桌面應用程序集成,而且還定義和實現了一種允許應用程序作為軟件“對象”(數據集合和操作數據的函數)彼此進行“連接”的機制,這種連接機制和協議稱為組件對象模型(COM)。OLE可以用來創建復合文檔,復合文檔包含了創建于不同源應用程序,有著不同類型的數據,因此它可以把文字、聲音、圖像、表格、應用程序等組合在一起。
微軟API
OLE(Object Linking and Embedding,對象連接與嵌入),是一種面向對象的技術,利用這種技術可開發可重復使用的軟件組件(COM)。OLE從多媒體借鑒而來,是Windows的一組服務功能,提供了一種以源于不同應用軟件的信息建立復合文檔的強有力方法。在對象連接和嵌入系統中,對象可以是幾乎所有的數據類型,例如文字、點陣圖像和矢量圖形,甚至于聲音、注解和錄像剪輯等均可。對象被賦予了智能屬性,即參與連接和嵌人的對象本身帶有計算機指令。
OLE 是在客戶應用程序間傳輸和共享信息的一組綜合標準。允許創建帶有指向應用程序的鏈接的混合文檔以使用戶修改時不必在應用程序間切換的協議。OLE基于組件對象模型(COM) 并允許開發可在多個應用程序間互操作的可重用即插即用對象。該協議已廣泛用于商業上,在商業中電子表格、字處理程序、財務軟件包和其他應用程序可以通過客戶服務器體系共享和鏈接單獨的信息。
關于 OLE ,業界早就在抱怨它的緩慢和龐大,對市場敏感的 Microsoft 需要對那些 API 函數提出一種新的術語以適應未來的操作系統和Internet技術。有趣的是 Microsoft 已經宣布 OLE 不再代表對象鏈接與嵌入,而只是一個過去的名詞而已。
OLE的版本
迄今為止,有兩種版本的OLE:OLE1.0和OLE2.0。當用戶在OLE1.0 服務器中激活OLE對象,服務器程序在前臺打開自己的窗體,并獲得焦點。OLE窗體失去焦點,存在于單獨的窗體之中。
OLE2.0服務器采用“本地”(in place)激活方式。本地激活意味著服務器菜單與應用程序菜單要進行融合,服務器的狀態條更換應用程序狀態條,服務器的工具條更換應用程序工具條。OLE對象在應用程序窗體中進行編輯,但所有過程均由服務器處理。
創建OLE對象的服務器決定了OLE的激活方式。如果一個OLE1.0的對象在OLE2.0 編譯的應用程序中打開,它將采用OLE1.0的方式。
功能介紹
OLE類、文件、項目
OLE類決定創建OLE對象的服務器。有些應用程序需要創建多種類型的OLE對象,例如應用程序同時鏈接或嵌入公式、圖片等。OLE類也決定OLE對象所包含的數據類型,鏈接或嵌入對象均要定義OLE類。
OLE文件是包含OLE對象數據的源文件。鏈接對象必須使用對象文件,因為鏈接對象在文件中保存。如果應用程序從已存在的源文件中創建嵌入對象,也要使用OLE文件。例如,如果鏈接到QuattiPro筆記本的
OLE對象TUTOR.WBI存儲在D:\DFFICE\QPW目錄下,則OLE文件就是D:\DFFICE\QPW\TUTOR.WBI。值得注意的是OLE文件只能為鏈接對象所定義,而對于嵌入對象,只需定義OLE類。
OLE項目是代表鏈接或嵌入數據的OLE文件中的一部分。當應用程序希望OLE對象包含比OLE文件小的數據塊時,則必須使用OLE項目。
OLE應用程序的菜單
OLE應用程序的菜單與其它應用程序的主菜單大體一致,如果應用程序中有支持本地激活的OLE 2.0對象,則要進行菜單融合。查閱OLE 服務器的資料可知道服務器是否支持本地激活。
OLE應用程序菜單的GroupIndex屬性決定融合菜單的位置,即融合菜單是更換主菜單,還是插入至應用程序的主菜單中。
OLE工具條和狀態條
當OLE對象被本地激活時,OLE服務器將試圖用自己的工具條和狀態條替換OLE應用程序的。如果應用程序想要本地激活, 就應該在應用程序中編寫相應的代碼讓服務器使用工具條和狀態條。要做到這點,必須:
● 設置工具條和狀態條
● 在應用程序中加入狀態條
通過修改面板部件的屬性創建工具條和狀態條。當OLE對象被本地激活時,面板或其他對齊控制將與OLE服務器程序進行協調。 這意味OLE服務器可以替換OLE應用程序窗體中任何對齊控制,但鎖定的控制不能被替換。例如,如果面板的align屬性是alTop,alleft,alBottom,alIngh時,控制未鎖定,OLE服務器可以替換。要使應用程序的工具條、狀態條不被替換,可將locked屬性設置成真值。
OLE自動化
OLE自動化是Windows應用程序操縱另一個程序的一種機制。將被自動化的程序稱作自動化對象或自動化服務器, 例如 Word , 操作或自動化其他程序的應用程序稱為自動化控制器或自動化客戶器 [2] 。利用 OLE 自動化的思想, 可以實現兩個 Web 應用系統之間的相互作用。OLE 2.0提供了一種方法來集成應用程序,這就是應用程序之間的命令操作。
利用OLE 2.0,程序員可以定義一組命令,使它們進入到其它程序中。這些命令可帶參數?雌饋砗芟髴贸绦蛟谡{用函數或過程一樣。采用上述辦法, 可以在人不參與的情況下,就能使得兩個應用程序的相互作用。被自動化的程序稱作自動化對象或自動化服務器, 操作或自動化其他程序的應用程序稱為自動化控制器或自動化客戶器。