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

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
ActiveX基礎(chǔ)——什么是ActiveX - .net 空間

    一種Internet策略  

    ActiveX是以一種Internet策略出現(xiàn)的。它包含了OLE,COM及Internet開(kāi)發(fā)的各個(gè)方面。

    ActiveX開(kāi)發(fā)涉及范圍廣泛  ActiveX開(kāi)發(fā)的包含了許多方面,比如自動(dòng)化服務(wù)器,ActiveX控件,COM對(duì)象等等。

    術(shù)語(yǔ)ActiveX在過(guò)去的幾年中成為了許多開(kāi)發(fā)人員及團(tuán)隊(duì)的戰(zhàn)斗口號(hào),另一方面市場(chǎng)也對(duì)其大肆宣揚(yáng),然而,沒(méi)有幾個(gè)人能解釋清楚其確切的含義。本書(shū)主要目的就是說(shuō)明什么是ActiveX以及它對(duì)開(kāi)發(fā)人員意味著什么。我希望讀者能夠?qū)W到和我為寫(xiě)本書(shū)而學(xué)到的知識(shí)盡可能一樣多。

應(yīng)用程序開(kāi)發(fā)的一種Internet策略

     Microsoft第一次介紹ActiveX是在1996年的Intenet專業(yè)開(kāi)發(fā)人員大會(huì)(Internet PDC)上。ActiveX源自于大會(huì)的口號(hào)“Activate the Internet”(可理解為:讓因特網(wǎng)活躍起來(lái)),與其說(shuō)ActiveX是一種開(kāi)發(fā)應(yīng)用程序的技術(shù)或是架構(gòu),不如說(shuō)它是一種啟示。

     在開(kāi)發(fā)大會(huì)期間,Microsoft正在與控制了Internet瀏覽器市場(chǎng)的Netscape進(jìn)行激烈的競(jìng)爭(zhēng)。但是,大會(huì)表明了Microsoft感興趣的不僅僅是瀏覽器市場(chǎng)。Microsoft演示的工具從電子存儲(chǔ)前端產(chǎn)品、新的OLE控件到虛擬現(xiàn)實(shí)聊天軟件等等,應(yīng)有盡有。

    ActiveX是Micrsoft共同的新口號(hào),類似于90年代初的提出的OLE(Object Linking and Embedding,對(duì)象鏈接與嵌入),而且在很短的時(shí)間內(nèi),遠(yuǎn)遠(yuǎn)超越了“Activate the Internet”。

    ActiveX成為了包含一切的術(shù)語(yǔ):從Web頁(yè)面到OLE控件。ActiveX開(kāi)始變得重要起來(lái):一方面,小型、快速、可重用的組件能夠讓你緊緊抓住來(lái)自于Micrsoft,Internete及工業(yè)的最新技術(shù);另一方面,ActiveX代表了Internet與應(yīng)用程序集成的策略。目前,在產(chǎn)品或公司中沒(méi)有使用Internet及ActiveX技術(shù)被認(rèn)為是過(guò)時(shí)的。事實(shí)上,描述ActiveX就像描述色彩一樣,它既不是技術(shù)也不是架構(gòu),而是一個(gè)概念,一個(gè)指導(dǎo)。

ActiveX, OLE及Internet

    ActiveX和OLE開(kāi)始成為同義詞,人們?cè)?jīng)談到的OLE控件現(xiàn)在成為了ActiveX控件,OLE文檔對(duì)象現(xiàn)在成為了ActiveX文檔對(duì)象。有時(shí),整個(gè)關(guān)于如何實(shí)現(xiàn)OLE技術(shù)的文檔被更新為ActiveX技術(shù),唯一的變化就是術(shù)語(yǔ)OLE,現(xiàn)在命名為ActiveX。

    盡管OLE及ActiveX取得了巨大的進(jìn)步,表面上每天還有與其相關(guān)的新技術(shù)出現(xiàn),但I(xiàn)nternet是否已經(jīng)或直接卷入到許多相關(guān)的領(lǐng)域還是令人置疑的。對(duì)小型、快速、可重用組件(COM組件)的需求已經(jīng)些年頭了,分布式組件(DCOM組件)在幾年前的OLE 2.0 專業(yè)人員開(kāi)發(fā)大會(huì)上作了第一次演示。Visual Basic(VB)開(kāi)發(fā)組在使ActiveX技術(shù)成為可能的早期扮演了得要角色。包含在ActiveX SDK中的BaseCtl框架就是由VB開(kāi)發(fā)組開(kāi)發(fā)的,它解決了VB為減少載入時(shí)間而對(duì)小型,輕量級(jí)組件的需求。Internet唯一的貢獻(xiàn)就是它需要一種方式來(lái)實(shí)現(xiàn)和發(fā)布Web頁(yè)面。實(shí)際上,每一個(gè)ActiveX的新功能都能追溯到最基本的,全球泛圍的對(duì)小型、快速,可重用組件的需求,而這,就是從OLE和COM開(kāi)始的。

    ActiveX并不意味著要代替OLE,僅僅把它擴(kuò)大到包括Internet,企業(yè)內(nèi)部網(wǎng)商務(wù)應(yīng)用程序及家庭應(yīng)用程序的開(kāi)發(fā),以及開(kāi)發(fā)這些應(yīng)用的工具。

    Microsoft發(fā)布了大量關(guān)于ActiveX開(kāi)發(fā)的文檔。OC 96 規(guī)范定義了如何開(kāi)發(fā)啟動(dòng)更快速,繪制能力更強(qiáng)的控件,它也定義了哪些接口是必需的,而哪些接口是可選的。”OLE Control and Control Container Guidelines”提供了關(guān)于控件與控件容器交互的重要信息。Microsoft的Web站點(diǎn)成為了信息豐富的及創(chuàng)建、使用、分發(fā)ActiveX組件的中心。

    除了創(chuàng)建ActiveX組件的技術(shù)細(xì)節(jié)外,Microsoft建立起了一套使用和集成ActiveX組件的標(biāo)準(zhǔn)。從VB、Micrsoft Word到Java的每一個(gè)產(chǎn)品都繼承了使用ActiveX組件的能力。在ActiveX技術(shù)出現(xiàn)前,一大半的應(yīng)用程序無(wú)法像如今這樣如此緊密相關(guān)地?zé)o縫集成。

    接下來(lái)的部分將談到我們可以創(chuàng)建的ActiveX組件的類型,以及我們何時(shí),為什么才需要使用它—這可能更有幫助。

ActiveX組件的分類

    本書(shū)的主題是ActiveX組件的開(kāi)發(fā)。這些組件可以分為以下幾類:

    Automation Servers:自動(dòng)化服務(wù)器
    Automation Controllers:自動(dòng)化控制器
    Controls:控件
    COM Objects:COM對(duì)象
    Documents:文檔
    Containers:容器

    本書(shū)只是詳細(xì)談到了自動(dòng)化服務(wù)器,控件及COM對(duì)象。自動(dòng)化控制器、文檔及容器涉及到太多的接口,太多的技術(shù),超出本書(shū)所能承受的范圍。

自動(dòng)化服務(wù)器

    自動(dòng)化服務(wù)器是可以被其它應(yīng)用程序編程驅(qū)動(dòng)的組件。一個(gè)自動(dòng)化服務(wù)器包含到少一個(gè)或多個(gè)基于IDispatch的接口,其目的是為了讓其它的應(yīng)用程序創(chuàng)建和連接它。根據(jù)服務(wù)器本身的特性,一個(gè)自動(dòng)化服務(wù)器可以包含也可以不包含用戶界面。

    自動(dòng)化服務(wù)器可以是進(jìn)程內(nèi)的(運(yùn)行在控制器的進(jìn)程空間),本地的(運(yùn)行在自己獨(dú)立的進(jìn)程空間),遠(yuǎn)程的(運(yùn)行在其它機(jī)器的進(jìn)程空間)。有些情況下,特定的服務(wù)器實(shí)現(xiàn)將會(huì)指定服務(wù)器在哪里運(yùn)行,但是,這一點(diǎn)是不能保證的。DLL能夠在進(jìn)程內(nèi),本地或遠(yuǎn)程運(yùn)行,而EXE則只能在本地或遠(yuǎn)程遠(yuǎn)行。

    注意:對(duì)于控制器來(lái)說(shuō),執(zhí)行最快的就是進(jìn)程內(nèi)自動(dòng)化服務(wù)器。但要記住,使用進(jìn)程內(nèi)服務(wù)器并不能保證其性能。如果一個(gè)進(jìn)程內(nèi)自動(dòng)化服務(wù)器在一個(gè)進(jìn)程空間內(nèi)被創(chuàng)建,而被另一進(jìn)程內(nèi)的控制器所控制,它就降級(jí)為進(jìn)程外服務(wù)器,其性能與進(jìn)程外服務(wù)器相同。關(guān)于進(jìn)程空間與服務(wù)器沖突的更多信息請(qǐng)參見(jiàn)本書(shū)的第二部分。

自動(dòng)化控制器

    自動(dòng)化控制器是那些能使用和操作自動(dòng)化服務(wù)器的應(yīng)用程序,一個(gè)很好的例子就是VB。使用VB你可以創(chuàng)建,使用并銷毀自動(dòng)化服務(wù)器,就好像它們是VB語(yǔ)言的完整一部分一樣。

    自動(dòng)化控制器可以是任意類型的應(yīng)用程序,DLl或是EXE,能夠以進(jìn)程內(nèi),本地,遠(yuǎn)程的方式訪問(wèn)自動(dòng)化服務(wù)器。一般地,注冊(cè)表入口與服務(wù)器的實(shí)現(xiàn)指明了與控制器相關(guān)的自動(dòng)化服務(wù)器應(yīng)該在哪一個(gè)進(jìn)程空間運(yùn)行。

控件

    ActiveX等同與OLE控件或是OCX。一個(gè)典型的ActiveX控件由一個(gè)在設(shè)計(jì)時(shí)及運(yùn)行時(shí)都存在的用戶界面,一個(gè)定義了控件的所有方法及屬性的IDispatch接口,一個(gè)定義了控件可以觸發(fā)的事件的IConnectionPoint接口所組成。此外,它還可能支持運(yùn)行生命期內(nèi)的持久化,以及各種用戶界面功能,例如,剪切粘貼,拖放操作。從結(jié)構(gòu)上來(lái)講,一個(gè)控件必須支持大量的COM接口以發(fā)揮這些功能的優(yōu)勢(shì)。

    隨著新的OLE控件及ActiveX開(kāi)發(fā)指南的發(fā)行,一個(gè)控件不僅限于上述那些功能。但開(kāi)發(fā)人員可以僅僅實(shí)現(xiàn)上述的那些功能,因?yàn)樗鼈冇锰幾畲螅覍?duì)于使用應(yīng)用程序的用戶來(lái)說(shuō),他們也最感興趣。由Microsoft出版的控件與容器指南列出了所有的接口以及它們的特殊要求。你可以在Microsoft的網(wǎng)站http://www.microsoft.com找到這些信息。

    ActiveX控件對(duì)于容器來(lái)說(shuō),總是進(jìn)程內(nèi)運(yùn)行的。一個(gè)控件的擴(kuò)展名通常是OCX,但從執(zhí)行模式上來(lái)講,它就是一個(gè)DLL而已。

COM對(duì)象
    
    Com對(duì)象在結(jié)構(gòu)上類似于自動(dòng)化服務(wù)器和控制器。它們包含一個(gè)或多個(gè)COM接口,有一部分或完全沒(méi)有用戶界面。然而,這些對(duì)象不能被控制器以使用自動(dòng)化對(duì)象的方式所使用??刂破鞅仨毨斫釩OM接口才能與這些接口通訊,這些都與自動(dòng)化接口無(wú)關(guān)。Windows 95和NT操作系統(tǒng)定義了成百上千的COM接口和自定義接口作為操作系統(tǒng)擴(kuò)展,控制了從桌面外觀到屏幕三維圖像渲染的一切。COM對(duì)象是一種組織相關(guān)功能及數(shù)據(jù)的很好的方式,并且仍然保留了DLL對(duì)高性能的要求。

 注意:自動(dòng)化服務(wù)器也能受益于COM接口,這些服務(wù)器就是雙接口服務(wù)器。自動(dòng)化服務(wù)器接口有一個(gè)伴隨的COM接口,它描述了對(duì)象的方法及屬性。象VB這樣的自動(dòng)他控制器在使用服務(wù)器的時(shí)候能夠利用雙接口的優(yōu)勢(shì)提供更高的性能。雙接口服務(wù)器有一個(gè)缺點(diǎn)就是在定義屬性和方法時(shí),其數(shù)據(jù)類型被限制為被OLE自動(dòng)化所支持的類型。

文檔
    
    ActiveX文檔或者說(shuō)是最初被稱為的文檔對(duì)象,表示那些不僅僅只是一個(gè)控件或服務(wù)器的對(duì)象。一個(gè)文檔可以是任意的,可以是電子表格或者是一個(gè)財(cái)務(wù)應(yīng)用程序中的復(fù)雜的發(fā)票。文檔,就像控件,有用戶界面,并且有容器應(yīng)用程序作為宿主。Microsoft Word和Microsoft Excel就是復(fù)雜的文檔服務(wù)器,Microsoft Office Binder及Microsoft Internet Explorer就是ActiveX文檔容器。

    ActiveX文檔構(gòu)架是對(duì)OLE鏈接與嵌入模型的擴(kuò)展,它允許文檔透過(guò)其宿主容器得到更多的控制,最明顯的改變就是菜單如何呈現(xiàn)。標(biāo)準(zhǔn)OLE文檔的菜單將會(huì)與容器的菜單合并,提供組合的功能集;而ActiveX文檔則會(huì)占用整個(gè)菜單系統(tǒng),因此只表示文檔的功能而不是同時(shí)表示文檔和容器的功能。事實(shí)上,文檔所暴露的功能集是ActiveX文檔與OLE文檔之間差別的前提。容器只是一種宿主機(jī)制,而文檔則擁有所有的控制。

    其它的不同就是打印和存儲(chǔ)。OLE文檔有意地成為其宿主容器文檔的一部分,因此,作為容器文檔的一部分來(lái)打印與存儲(chǔ)。而ActiveX文檔則期望支持其本身的打印與存儲(chǔ)功能,并沒(méi)有與宿主文檔集成。

    ActiveX文檔采用統(tǒng)一的表示結(jié)構(gòu),而不是OLE文檔的嵌入式的文檔架構(gòu)。Microsoft Internet Explorer就是一個(gè)很好的例子,它只不過(guò)給用戶顯示W(wǎng)eb頁(yè)面,但是將頁(yè)面作為一個(gè)實(shí)體進(jìn)行瀏覽、打印及存儲(chǔ)。Microsoft Word和Microsoft Excel則是OLE文檔架構(gòu),如果Excel的電子表格嵌入到Word文檔,那么電子表格將與Word文檔一起存儲(chǔ),成為完整Word文檔的一部分。

    ActiveX文檔還有一些額外的功能用來(lái)支持Internet或Internat的Web頁(yè)面發(fā)布。想像一下一個(gè)內(nèi)部的訂單跟蹤系統(tǒng)運(yùn)行在與連接Internet所使用的相同的Web瀏覽器中。

容器
    
    ActiveX容器是能夠作為ActiveX服務(wù)器、控件或文檔的宿主的應(yīng)用程序。VB和ActiveX Control Pad都是能夠作為ActiveX服務(wù)器和控件的容器。Microsoft Office Binder和Microsoft Internet Explorer則是能夠作為ActiveX服務(wù)器、控件及文檔宿主的容器。

    隨著ActiveX控件和文檔規(guī)范中對(duì)必要要求的減少,容器必須足夠健全以處理控件或文檔缺少某些接口的情況。容器應(yīng)用程序可能與控件或文檔只有很少或根本沒(méi)有交互,也可能在表現(xiàn)和操作組件時(shí)提供了很重要的交互能力。這種能力完全依賴于組件的宿主容器,在任何的容器開(kāi)發(fā)中都不是必要的。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
了解OLE及ActiveX
ActiveX控件
Activex控件
用Visual C 實(shí)現(xiàn)PDF文件的顯示
Java Bean 與 EJB的區(qū)別
COM編程技術(shù)基礎(chǔ)概述之六
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服