摘要: 版本:ArcGIS 10错误处理是编写健壮程序的重要部分,它可以防止程序遇到异常时崩溃。.NET采用Try, Catch, Finally结构来捕获异常,防止程序崩溃。ArcObjects基于COM技术,遇到异常时,会以HRESULTS形式返回错误,并返回给COMException。Try, Catch, and Finally结构该结构可以用来捕获程序中抛出的异常:[C#]try{ IEnvelope env = new EnvelopeClass(); env.PutCoords(0D, 0D, 10D, 10D); ITransform2D trans = (ITran... 阅读全文
posted @ 2011-09-26 21:35 xmwang 阅读(733) 评论(0) 推荐(0) 编辑
摘要: ArcObjects线程模型版本:ArcGIS 10.0 VS2010 C#所有的ArcObjects组件被标识为单线程单元(STA)。每个线程最多只有一个STA,但一个进程可以有多个STA。当STA收到一个函数调用,它将其传递给它所在的线程。因此,STA中的对象同时只能接受并处理一个函数调用,所有的函数调用都会传递到相同的线程。ArcObjects组件是线程安全的,可以在多线程环境中进行开发。为了使得ArcObjects应用在多线程环境中能够有效执行,应该注意ArcObjects的线程模式为单元独立模式。所有的ArcObjects对象只能在同一个线程中交互。为了使该模式更好的工作,在Arc. 阅读全文
posted @ 2011-09-26 18:38 xmwang 阅读(1533) 评论(1) 推荐(1) 编辑
摘要: 要符合作为基类的要求,coclass必须满足:定义为元数据可创建聚合然而在ArcGIS中,ArcGIS COM类不能在.NET环境中作为基类。如果要想方便的创建ArcGIS组件,可以使用ESRI.ArcGIS.ADF.Local程序集中提供的类,这些类是托管类型,可以被其他类继承。 阅读全文
posted @ 2011-09-26 11:36 xmwang 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 版本:ArcGIS10关于persistencepersistence是将对象的当前状态持久的保存在文件、磁盘等存储媒介的过程。在ArcGIS中persistence被用来保存文档和模板的当前状态。通过ArcGIS的UI,可以更改地图文档的众多属性、参数,比如渲染器。当地图保存关闭后,渲染器的实例会释放。当再次打开地图,由于persistence的作用,渲染器会根据保存的状态做预设置,看到和先前一样的状态。Structured storage, compound files, documents, and streams地图文档的保存采用结构化存储技术,结构化存储是实现persistence的 阅读全文
posted @ 2011-09-26 11:16 xmwang 阅读(594) 评论(0) 推荐(0) 编辑