第三十一章C++BuilderCOM程式的开发..ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三十一章CBuilderCOM程式的开发.

第三十一章 COM程式的開發 COM到底是什麼東西?DCOM、COM+、dll、ActiveX與COM的關係又是什麼?微軟所推出的這麼多東西真的這麼複雜嗎?我們將在這一章讓各位讀者了解這些名詞的意義,並使用幾個COM的範例實作,讓各位讀者除了在理論上了解外,對於COM的實作也是相當的清楚。 大綱 31-1. COM簡介 31-2. COM程式開發 31-3. COM Object的應用 本章習題 31-1. COM簡介 現今在世界上我們常看到的分散式物件模型大概有『OMG組織的CORBA』、『微軟的COM(DCOM)』、『SUN的Java RMI』、以及『OFS的OODCE』等等。 在這麼多種分散式物件模型中,目前最常被使用到的就是Microsoft所提出來的COM了,所以在這一章節中,我們將慢慢的從簡介到開發到應用,一一的將COM呈現在各位讀者的面前。 COM有時被稱為『Common Object Model』,而微軟官方則稱他為『Component Object Model』。 要談論COM的歷史,就必須追溯到1994年Microsoft Windows 3.1的時代上,因為在Windows 3.1的環境中出現了OLE(Object Linking and Embedding)這樣的介面,當時的OLE所提供的功能只是在不同的應用程式中提供『Copy Paste』的功能,只可惜當時的電腦設備不是很好,在使用OLE可以說是痛苦萬分。 31-1. COM簡介 隨著硬體設備的提升以及微軟的持續開發,沒有多久的時間,OLE2就出現在這個世界上了。OLE2的發展基礎就是我們這一章的重點『COM』。 OLE2提供了各個應用程式間的通訊介面以及通訊方法,我們可以透過OLE2很簡單的在不同的應用程式間交互使用各自的功能,例如我們可以很簡單的將一個Excel的試算表『插入到』Word中。 提供這些Component的開發原理就是COM,也就是COM提供了一種規範,讓每個程式設計師根據這樣的規範來開發Application或是Component,而依據COM的規範所開發出來的程式或是元件,就可以利用OLE的運作方式在各個應用程式間交互使用其功能。 例如現在你想要自己寫一個瀏覽器,第一步我們就是去查詢MSDN,看看Microsoft Explorer提供了哪些COM Component可以讓我們使用,接下來我們就可以很輕易的在自己的程式中利用OLE的方式將Explorer的COM元件Link進來我們的程式中,讓我們可以再自己的程式中任意的使用Explorer所提供的所有Function。 31-1. COM簡介 除了COM,我們也很常聽到DCOM這個名詞。 COM本身的應用只能在單一電腦上運作,而DCOM則提供了分散式的COM元件,所以DCOM的D就是『Distribution』。 DCOM讓我們的COM元件也可以透過網路來使用。 在1995年底和1996年的時候,微軟也順著時代的潮流進入了Internet的世界,在這時候,微軟將COM、DCOM、OLE、OCX等等的技術都統稱為『ActiveX』,而且在之後的命名規則上似乎都有著『X』的身影,例如『X-BOX』、『DirectX』等等。 目前微軟已經將他們所開發的軟體全面DCOM化,不管是一般的Application或是Server,甚至只是一些Component,都已經是DCOM的元件,所以我們可以很輕易的透過MSND去查詢這些DCOM所提供的Function,如此我們就可以將這些Function應用在我們自己要開發的應用程式上了。 31-1. COM簡介 以上都是我們對於COM比較文字敘述上的解釋,接下來我們要告訴各位的是COM的『技術』,也就是從技術面來介紹COM這樣的一個東西。首先我們先來看看COM最簡單的使用架構圖。 31-1. COM簡介 在上面這張示意圖中很清楚的可以看出來,Application是與COM Object中的一個Interface溝通,而這個Interface的定義就是利用IDL這樣的語言定義出來的。 COM物件具有相當複雜的介面,但是這麼複雜的架構中有兩個很重要的東西用來定義這些複雜的介面,這兩個就是我們常聽到的『CLSID』以及『GUID』。 在COM的每一個類別中一定有一個獨自擁有而且唯一的Class Identifier,也就是所謂的CLSID;而對於COM的Interface來說,則必須要有一個GUID來當作一個唯一識別字,以避免名字的衝突。 COM的Interface是Microsoft IDL來定義的,IDL全名是Interface Definition Language,在這邊我們要強調是Microsoft IDL,因為世界

您可能关注的文档

文档评论(0)

叮当文档 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档