OLE

OLE

桌面應用程序集成技術
Object Linking and Embedding,對象連接與嵌入,簡稱OLE技術。[1]OLE不僅是桌面應用程序集成,而且還定義和實現了一種允許應用程序作為軟件“對象”(數據集合和操作數據的函數)彼此進行“連接”的機制,這種連接機制和協議稱為部件對象模型。OLE可以用來創建複合文檔,複合文檔包含了創建于不同源應用程序,有着不同類型的數據,因此它可以把文字、聲音、圖像、表格、應用程序等組合在一起。
  • 軟件名稱:
  • 軟件平台:
  • 軟件語言:
  • 開發商:
  • 軟件授權:
  • 軟件版本:
  • 軟件大小:
  • 中文名:OLE技術
  • 英文名:OLE
  • 全稱:Object Linking and Embedding
  • 類型:桌面應用程序集成
  • 作用:開發可重複使用的軟件組件

微軟API

OLE(Object Linking and Embedding,對象連接與嵌入)。是一種面向對象的技術,利用這種技術可開發可重複使用的軟件組件(COM)。

OLE是在客戶應用程序間傳輸和共享信息的一組綜合标準。允許創建帶有指向應用程序的鍊接的混合文檔以使用戶修改時不必在應用程序間切換的協議。OLE基于組件對象模型(COM)并允許開發可在多個應用程序間互操作的可重用即插即用對象。該協議已廣泛用于商業上,在商業中電子表格、字處理程序、财務軟件包和其他應用程序可以通過客戶/服務器體系共享和鍊接單獨的信息。

關于OLE,業界早就在抱怨它的緩慢和龐大,對市場敏感的Microsoft需要對那些API函數提出一種新的術語以适應未來的操作系統和Internet技術。有趣的是Microsoft已經宣布OLE不再代表對象鍊接與嵌入,而隻是一個過去的名詞而已。

版本

OLE1.0和OLE2.0

迄今為止,有兩種版本的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文件。例如,如果鍊接到QuattiPro筆記本的OLE對象TUTOR.WBI存儲在D:DFFICEQPW目錄下,則OLE文件就是D:DFFICEQPWTUTOR.WBI。值得注意的是OLE文件隻能為鍊接對象所定義,而對于嵌入對象,隻需定義OLE類。OLE項目是代表鍊接或嵌入數據的OLE文件中的一部分。當應用程序希望OLE對象包含比OLE文件小的數據塊時,則必須使用OLE項目。

應用程序的菜單

OLE應用程序的菜單與其它應用程序的主菜單大體一緻,如果應用程序中有支持本地激活的OLE2.0對象,則要進行菜單融合。查閱OLE服務器的資料可知道服務器是否支持本地激活。OLE應用程序菜單的GroupIndex屬性決定融合菜單的位置,即融合菜單是更換主菜單,還是插入至應用程序的主菜單中。

當OLE對象被本地激活時,OLE服務器将試圖用自己的工具條和狀态條替換OLE應用程序的。如果應用程序想要本地激活,就應該在應用程序中編寫相應的代碼讓服務器使用工具條和狀态條。要做到這點,必須:設置工具條和狀态條;在應用程序中加入狀态條;通過修改面闆部件的屬性創建工具條和狀态條。

當OLE對象被本地激活時,面闆或其他對齊控制将與OLE服務器程序進行協調。這意味OLE服務器可以替換OLE應用程序窗體中任何對齊控制,但鎖定的控制不能被替換。例如,如果面闆的align屬性是alTop,alleft,alBottom,alIngh時,控制未鎖定,OLE服務器可以替換。要使應用程序的工具條、狀态條不被替換,可将locked屬性設置成真值。

自動化

OLE自動化是Windows應用程序操縱另一個程序的一種機制。OLE2.0提供了一種方法來集成應用程序,這就是應用程序之間的命令操作。

利用OLE2.0,程序員可以定義一組命令,使它們進入到其它程序中。這些命令可帶參數。看起來很象應用程序在調用函數或過程一樣。采用上述辦法,可以在人不參與的情況下,就能使得兩個應用程序的相互作用。

被自動化的程序稱作自動化對象或自動化服務器,操作或自動化其他程序的應用程序稱為自動化控制器或自動化客戶器。

專有名詞

OLE:Output Limit Exceeded的縮寫。

在線評測系統(Online Judge)的評定之一。這種錯誤其實可以盡量得到避免,主要是輸出數據不合法,或者格式錯誤。

解決方法要具體問題具體分析,常見的有忘記将用于調試的輸出語句删除、死循環等。

相關詞條

相關搜索

其它詞條