免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
第八章 對象鏈接與嵌入(一)
對象鏈接和嵌入(Object Linking and Embeding)是一組服務功能,它提供了一種用源于不同應用程序的信息創(chuàng)建復合文檔的強有力方法。 對象可以是幾乎所有的信息類型,如文字、位圖、矢量圖形,甚至于聲音注解和錄像剪輯等。

  Windows附件組中的書寫器是應用OLE的實例,使用單擊“對象 | 插入”菜單項, 書寫器彈出插入對話框,對話框中列出了多個OLE服務器程序,如公式編輯工具,繪圖工具,報表生成工具。用戶雙擊鼠標左鍵,可激活一個OLE服務器。在OLE服務器中可編輯OLE對象,當用戶返回到書寫器中時,在書寫器文檔中將出現(xiàn)OLE對象。

  Delphi支持OLE技術,Delphi1.0可以創(chuàng)建OLE應用程序,Delphi2.0可創(chuàng)建OLE自動化服務器和控制器程序。本章通過例程介紹對象鏈接與嵌入的基本概念,Delphi創(chuàng)建OLE對象的方法,OLE自動化的概念以及如何開發(fā)OLE自動化服務器和控制器?!?/p>

8.1 OLE簡介 

8.1.1 OLE1.0和OLE2.0 

迄今為止,有兩種版本的OLE:OLE1.0和OLE2.0。當用戶在OLE1.0 服務器中激活OLE對象,服務器程序在前臺打開自己的窗體,并獲得焦點。OLE窗體失去焦點,存在于單獨的窗體之中。

  OLE2.0服務器采用“本地”(in place)激活方式。本地激活意味著服務器菜單與應用程序菜單要進行融合,服務器的狀態(tài)條更換應用程序狀態(tài)條,服務器的工具條更換應用程序工具條。OLE對象在應用程序窗體中進行編輯,但所有過程均由服務器處理。

  創(chuàng)建OLE對象的服務器決定了OLE的激活方式。如果一個OLE1.0的對象在OLE2.0 編譯的應用程序中打開,它將采用OLE1.0的方式?!?/p>

8.1.2 鏈接與嵌入 

  鏈接對象的數(shù)據(jù)保存在OLE服務器創(chuàng)建的文件中,嵌入對象的數(shù)據(jù)保存在OLE應用程序中。

  鏈接對象必須以文件形式保存,只有對OLE服務器已經(jīng)創(chuàng)建好的OLE對象, 才能進行OLE鏈接,鏈接的OLE對象文件可被OLE應用程序或其它程序進行修改,OLE 服務器和其它OLE應用程序也可以訪問和修改OLE對象。對象數(shù)據(jù)保存在某一處,但可以被多個應用程序訪問。

  Delphi應用程序可以得到OLE對象文件中的最新數(shù)據(jù)。當OLE 對象數(shù)據(jù)被應用程序修改時,這些變化將在所有包含該對象的其它應用程序中體現(xiàn)。

  嵌入對象保存在OLE應用程序中,其它應用程序不能訪問該對象。只有在OLE應用程序中激活OLE對象才能對其進行編輯。嵌入的OLE對象不需要保存在文件中,所有數(shù)據(jù)都在應用程序中,這就確保了OLE數(shù)據(jù)不會被偶然地刪除或修改。不足之處是應用程序的規(guī)模因為保存了OLE數(shù)據(jù)而增大了 。

  如果用戶想保存對嵌入對象的修改,可以把OLE數(shù)據(jù)存入文件中,本章第3 節(jié)將詳細討論這個問題。

   表8.1 使用鏈接或嵌入的原則。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

   何時使用鏈接         何時使用嵌入

───────────────────────────────

  想要對源對象進行修改及將   對源對象進行修改,并將這

  這些修改反映到其他與源對   些修改反映在一個特定的應

  象鏈接的應用程序或文本中   用程序或文本中

  源對象可能被多個OLE應    源對象不可能被一個OLE應

  用程序應用程序頻繁修改    用程序頻繁修改

  源對象的文件不會被頻繁移   源對象的文件可能被頻繁移

  動,且不會被刪除     動,且不會被刪除    

  對象很大,一般通過網(wǎng)絡或   對象很小,或?qū)ο蠛艽髤s無法

  電子郵件進行分配       通過網(wǎng)絡或電子郵件進行分配

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 

8.1.3 設計狀態(tài)OLE對象的創(chuàng)建 

  在Delphi中,可分別在設計狀態(tài)或運行狀態(tài)創(chuàng)建OLE對象,表8.2說明了兩種狀態(tài)創(chuàng)建對象的差別。 

表8.2 設計、運行狀態(tài)OLE對象的創(chuàng)建

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  設計狀態(tài)OLE對象的創(chuàng)建         運行狀態(tài)OLE對象的創(chuàng)建

──────────────────────────────────────

對象保存在運行文件中,增加了所需 對象保存在一個文件中或只在運行時

編譯的程序的規(guī)?!     ?才有,減小了編譯程序的規(guī)模 

開發(fā)者需在設計時訪問OLE服務器   開發(fā)者不需要在設計時訪問OLE服務器 

運行時OLE對象已經(jīng)創(chuàng)建,減小了   運行時OLE對象已經(jīng)創(chuàng)建,增加了運行

運行時間               時間 

OLE對象在設計運行時間可行性編輯   OLE對象只能在運行時編輯

應用程序的OLE對象數(shù)目在設計時已   應用程序可以在運行時創(chuàng)建新的OLE對

經(jīng)確立                象

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 

  在設計狀態(tài),OLE服務器不能被本地激活,只能在自己的窗體內(nèi)激活。但在運行狀態(tài),

只要OLE服務器支持本地激活,就可以使用這種方式?!?/p>

8.1.4 OLE類、文件、項目 

  OLE類決定創(chuàng)建OLE對象的服務器。有些應用程序需要創(chuàng)建多種類型的OLE對象,例如應用程序同時鏈接或嵌入公式、圖片等。OLE類也決定OLE對象所包含的數(shù)據(jù)類型,鏈接或嵌入對象均要定義OLE類。

  OLE文件是包含OLE對象數(shù)據(jù)的源文件。鏈接對象必須使用對象文件,因為鏈接對象在文件中保存。如果應用程序從已存在的源文件中創(chuàng)建嵌入對象,也要使用OLE文件。例如,如果鏈接到QuattiPro筆記本的OLE對象TUTOR.WBI存儲在D:\DFFICE\QPW目錄下,則OLE文件就是D:\DFFICE\QPW\TUTOR.WBI。值得注意的是OLE文件只能為鏈接對象所定義,而對于嵌入對象,只需定義OLE類。

  OLE項目是代表鏈接或嵌入數(shù)據(jù)的OLE文件中的一部分。當應用程序希望OLE對象包含比OLE文件小的數(shù)據(jù)塊時,則必須使用OLE項目。

  例如,在QuattiPro筆記本中,OLE對象鏈接了GasCosts的B4 到B5 范圍的網(wǎng)格,OLE項目是$GasCosts;$B$4.$B$5。 

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
OLE(技術名稱)
什么是ActiveDocument(OLE文檔對象
ado和odbc區(qū)別(轉(zhuǎn)載)
opc是什么?什么是opc服務器?opc ua是什么?
DLL 組件(Component) 對象(Object) OLE控件 ActiveX控件 ...
淺析多層結構及其在Delphi中的實現(xiàn)<一>
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服