ArcObjects开发与实践.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ArcObjects开发与实践 2006.12.18 AO是什么? AO(ArcObjects的缩写)是ESRI公司ArcGIS? 家族中应用程序ArcMap?, ArcCatalog? 和 ArcScene?的开发平台。 是基于Microsoft? COM技术所构建的一系列COM组件集。 开发人员可以在AO组件对象的基础上开发出更加强大灵活的应用系统。 先来看一个AO(演示) Hello,World 第一个AO程序 //Private Function MxDocument_OpenDocument() As Boolean Dim pmap As IMap Set pmap = New Map pmap.Name = Hello,world MsgBox pmap.Name //End Function 怎样学好AO? 深入理解面向对象技术 掌握一些COM的知识 理解AO对象图 熟悉一门编程语言 依葫芦画瓢 实践是检验真理的唯一标准 关于面向对象 AO对象图 关于COM COM(Component Object Model )是微软最高级的二进制通信规范,用于软件组件间跨越多个进程、机器和操作系统进行互操作。 COM定义了组件程序之间进行交互的标准,而且也提供了组件程序运行所需要的环境 。 一般来说,COM库由操作系统加以实现,我们不必关心其实现的细节 。 COM通常的发布形式是:以win32动态链接库(DLL)或可执行文件(EXE)的形式发布。 COM特点:可重用性、多态性、封装性、与语言无关性、接口不变性。 COM对象 COM对象和.Net类对象概念是不同的,有以下几点不同: COM对象的客户必须自己管理COM对象的生存期,而.NET对象的生存期由CLR(Common Language Runtime)来管理,即通过GC(Garbage Collection)机制自动回收。 COM对象的客户通过调用QueryInterface查询COM对象是否支持某个接口并得到其接口指针,而.NET对象的客户使用Reflection(System.Reflection.*)来获得对象功能的描述,包括方法属性等。 COM对象的客户通过指针引用COM对象,对象在内存中的位置是不变的,而.NET对象在内存中的驻留由.NET框架执行环境(execution environment)来管理,对象在内存中的位置是可变的,比如出于优化性能的考虑,同时会更新所有对对象的引用。这一点也是以CLR中不使用指针为前提的。 为了实现传统的COM程序与.NET程序之间的相互调用,.NET提供了包装类RCW(Runtime Callable Wrapper)和 CCW(COM Callable Wrapper)。每当一个.NET客户程序调用一个COM对象的方法时就会创建一个RCW对象,每当一个 COM客户程序调用一个.NET对象的方法时就会创建一个CCW对象。 COM接口 COM接口是指组件对象的接口,它是包含了一组函数的数据结构,通过这组数据结构,客户代码可以调用组件对象的功能,组件对象间的访问 都是通过接口来进行的。 COM接口设计 接口设计必须满足: 必须直接或间接地从IUNKNOWN接口继承(该接口在AO中是缺省的); 接口必须有唯一的标识符号;接口不变性,一旦分配和公布了IID,接口定义的任何因素都不能改变。 拥有接口的COM类 功能用接口被抽象地构造, 类是去真正实现这些接口的。 对象拥有一个或多个接口 。 接口是定义了一组方法和属性的逻辑关系 与对象的通信是通过接口来进行的 入接口和出接口(Inbound interface,Outbound interface) 客户程序创建组件对象,然后客户程序调用对象所提供的功能,称为入接口。 组件对象实现入接口,客户通过入接口调用对象提供的功能 客户和组件都需要知道接口的类型信息 如果一个COM对象支持一个或多个主动与客户程序进行通信的接口,则这种接口称为出接口 客户端提供的COM对象实现出接口 组件端的对象通过出接口调用客户提供的功能 组件提供接口类型信息 客户实现出接口,实现出接口的COM对象被称为接收器对象(sink) 出接口代码示例 ‘Map有IActiveViewEvents入接口 Private WithEvents m_pActiveViewEvents As Map Public Sub SetEvents() ??? Dim pMxDoc As IMxDocument ??? Set pMxDoc = Application.Document ??? Set m_pActiveView

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档