04 2013 档案

VS2005没有“ESRI ComponentCategoryRegistrar
摘要:2010-08-18 11:47VS2005没有“ESRI ComponentCategoryRegistrar”的解决办法1、“项目”—“Add Component Categories Registrar"2、点选“Categories”下想要添加的COM类目注册函数3、点击OK,自动添加代码。 阅读全文

posted @ 2013-04-30 21:36 大胡子青松 阅读(189) 评论(0) 推荐(0)

COM组件设计与应用(二)GUID和接口
摘要:COM组件设计与应用(二)GUID和接口一、前言 书接上回,话说在 doc(Word) 复合文件中,已经解决了保存 xls(Excel) 数据的问题了。那么,接下来又要解决另一个问题:当 WORD 程序读取复合文件,遇到了 xls 数据的时候,它该如何启动 Excel 呢?启动后,又如何让 Excel 自己去读入、解析、显示 xls 数据呢?二、CLSID 概念 有一个非常简单的解决方案,那就是在对象数据的前面,保存有处理这个数据的程序名。(见下图左上)图一、CLSID 的概念 这的确是一个简单的方法,但同时问题也很严重。在“张三”的计算机上,Excel 的路径是:"c:\offic 阅读全文

posted @ 2013-04-30 11:58 大胡子青松 阅读(249) 评论(0) 推荐(0)

COM中GUID和UUID、CLSID、IID
摘要:COM中GUID和UUID、CLSID、IID(2011-08-23 15:56:13)转载▼标签:it(今日看到网络上关于"COM中GUID......"文章,写的好,故记录之.)当初微软设计com规范的时候,有两种选择来保证用户的设计的com组件可以全球唯一:第一种是采用和Internet地址一样的管理方式,成立一个管理机构,用户如果想开发一个COM组件的时候需要向该机构提出申请,并交一定的费用。第二种是发明一种算法,每次都能产生一个全球唯一的COM组件标识符。第一种方法,用户使用起来太不方便,微软采用第二种方法,并发明了一种算法,这种算法用GUID(Globally 阅读全文

posted @ 2013-04-30 11:55 大胡子青松 阅读(262) 评论(0) 推荐(0)

从数据到代码—通过代码生成机制实现强类型编程
摘要:从数据到代码—通过代码生成机制实现强类型编程[上篇]作者: Artech来源: 博客园发布时间: 2010-10-24 22:41阅读: 472 次推荐: 0 原文链接 [收藏] 我不知道大家对CodeDOM的代码生成机制是否熟悉,但是有一点可以确定:如果你使用过Visual Studio,你就应该体验过它带给我们在编程上的便利。随便列举三种典型的代码生成的场景:在创建强类型DataSet的时候,VS会自动根据Schema生成相应的C#或者VB.NET代码;当我们编辑Resource文件的时候,相应的的后台代码也会自动生成;当我们通过添加Web Reference调用Web Service或. 阅读全文

posted @ 2013-04-30 11:48 大胡子青松 阅读(215) 评论(0) 推荐(0)

VS2010开发ActiveX
摘要:VS2010开发ActiveX2011-11-14 04:43:46|分类: 学籍数据库 |标签: |字号大中小订阅最近做读卡器的B/S应用程序开发,由于读卡器厂商提供的手册都是C/S版本的,而且只有一个原始的Dll包,并没有web版的,那么就只好自己动手,丰衣足食了。 要开发Web版的读卡程序,大体思路如下:1. 使用C#对原始的Dll进行封装,这里要封装两部分内容,一部分是串口通信的功能,一部分是对卡读写的功能。2. 开发ActiveX控件调用封装后的Dll,使用串口通信来对卡进行读写。3. 打包并发布ActiveX控件。4. 使用ActiveX控件。思路1中封装代码有2个类SerialI 阅读全文

posted @ 2013-04-30 11:44 大胡子青松 阅读(337) 评论(0) 推荐(0)

C# 创建ActiveX
摘要:C# 创建ActiveX 第一步:创建一个window窗体控件库。设置程序集信息,打开vs2010 GUID生成器生成GUID:<!--StartFragment --> 勾选为com互操作注册,最好在debug和release下面都勾选(注意,此处如果是在debug状态下修改的,那在调到release状态下还需要再设置一次:<!--StartFragment --> 打开AssemblyInfo.cs文件,添加:using System.Reflection;using System.Runtime.CompilerServices;using System.Runt 阅读全文

posted @ 2013-04-30 11:42 大胡子青松 阅读(276) 评论(0) 推荐(0)

vs2010创建com组件
摘要:vs2010创建com组件 ?//打开vs2010 新建一个类库项目ComTest //新建一个加法的接口IComTest,代码如下: //在用C#创建COM组件时,一定要记住以下几点: //1:所要导出的类必须为公有; //2:所有属性、方法也必须为公有; //3:要导出的属性、方法必须用接口方式;如果没有在接口中声明,即使该方法(属性)为公有,也不能正常导出到COM。但他们可以被别的.NET程序所使用; //可以用VS2010的命令提示符中输入:guidgen 就会出来它的窗口。在几个复选框选择最后一个Registry Format,点击New Guid,然后COP... 阅读全文

posted @ 2013-04-30 11:37 大胡子青松 阅读(859) 评论(0) 推荐(0)

C++和C#编写调用COM组件
摘要:C++和C#编写调用COM组件2012-02-08 17:09 作者:吾吾织梦 来源:WwW.55zM.CoM 浏览:224次 我要评论 (条) 字号:大 中 小摘要:前一阵在工作中做项目的时候,遇到了COM组件的调用和使用问题,当时研究和好一阵,才把中间的环节打通,现在写出来为大家提供方便,这里包含了四个类型: 1、在VS2005中,C#编写DLL并使用C++调用 2、在VS2005中C#编写的COM组件,使用VC6.0调用 3、在VC6.0中编前一阵在工作中做项目的时候,遇到了COM组件的调用和使用问题,当时研究和好一阵,才把中间的环节打通,现在写出来为大家提供方便,这里包含了四个类型:1 阅读全文

posted @ 2013-04-30 11:33 大胡子青松 阅读(344) 评论(0) 推荐(1)

如何编写和注册.Net的Com组件
摘要:如何编写和注册.Net的Com组件[收藏此页] [打印]作者:ITPUB论坛2008-05-20 内容导航:概述第1页: 概述 【IT168技术文档】 Com+组件在vb6.0和vc++的年代是风靡一时的,当前.net framework的构件系统,因为其无需注册等优点渐渐取代了Com+的地位,但一些系统由于历史问题,还是需要com+支持的,其实在.net中编写com+组件也是一件非常简单的事情. 在vs2003中,要想生成com+组件,其实额外的工作只有一个,就是对项目按下图所示, 程序其他部分和其它没有差别,不再赘述 重点在于如何注册.net写的com+组件 网上有一些说法,但我按... 阅读全文

posted @ 2013-04-30 11:24 大胡子青松 阅读(931) 评论(0) 推荐(0)

Ao开发
摘要:AO开发2006-10-30 11:48:16|分类:GIS技术|标签:科技|字号订阅絮语闲聊,权当消遣- 最近抽时间整理一些以前写的程序,也开始了解MO(ESRI MapObject)的应用,有些感受一起吐出。在GIS应用中最大的工作就是数据的采集整理了,虽然你可以采用MO、MAPX等一些地图控件(我曾经还看到过一个南非人用DEPHI写的地图控件,也是很有些特点的),如果你够超人,甚至可以自己去做一个地图控件,来完成一个实用性也很个性化的系统出来。可是它终究只是一个应用系统而已。 ???你应该知道我要讲什么的了吧。所有的应用都是基于一定的数据结构,你可以在自己的应用开发中定义数据模型,但是数 阅读全文

posted @ 2013-04-29 08:01 大胡子青松 阅读(462) 评论(1) 推荐(0)

ArcGIS Desktop Add-in插件开发系列
摘要:ArcGIS Desktop Add-in插件开发系列一上一篇 / 下一篇 2010-12-09 17:13:03 / 个人分类:ArcGIS Desktop查看( 691 ) / 评论( 4 )Add-in的概念ArcGIS的10引入了几个新的和创新的功能,使您更容易定制和扩展ArcGIS桌面应用,包括新的桌面插件模型。Add-in可以理解为可以包含多种UI和非UI对象的插件包概念。其中支持的对象类型包括(主要分两大类):第一大类:交互类按钮和工具:按钮和工具是简单的控制,可以出现在工具栏按钮或在个案上的菜单。组合框:一个组合框提供了一个项目的下拉列表,可以选择提供一个可编辑的输入区域。多项 阅读全文

posted @ 2013-04-28 18:12 大胡子青松 阅读(1799) 评论(0) 推荐(0)

[转] ArcGIS自定义工具完全教程 1/2
摘要:[转] ArcGIS自定义工具完全教程 1/2一、Client -- 页面上的Tag :<ags:toolclientAction="EsriMapRectangle"serverAction="com.esri.adf.web.faces.event.ZoomInToolAction"clientPostBack="true"/>二、Client -- clientActionclientAction是指一个 javascript 类,这个类必须继承 EsriMapToolItem,并要重载几个函数:附件11. 首先是: 阅读全文

posted @ 2013-04-26 11:45 大胡子青松 阅读(298) 评论(0) 推荐(0)

制作ArcGIS DLL插件的安装包
摘要:制作ArcGIS DLL插件的安装包08-08-26 09:19:32 浩淼的天空 核心提示:当我们编写了一个ArcGIS扩展DLL文件后,如何将它载入到ArcGIS程序中呢?这个很简单,无非是在“定制”面板中点击“Add from file”命当我们编写了一个ArcGIS扩展DLL文件后,如何将它载入到ArcGIS程序中呢?这个很简单,无非是在“定制”面板中点击“Add from file”命令导入即可,但如果类实现了IDockableWindowDef,我们就得在组件管理器中将其再注册一次,这样做非常麻烦。如果是自己写个DLL玩玩尚可,这也算不上什么了不起的工作,但如果你是给客户开发DLL 阅读全文

posted @ 2013-04-26 11:41 大胡子青松 阅读(372) 评论(0) 推荐(0)

ArcGIS Desktop开发基础
摘要:ArcGIS Desktop开发基础分类:GIS2006-09-20 10:551547人阅读评论(0)收藏举报vba扩展officemicrosoft.net工具目录(?)[+]ArcGIS的基础是ArcObject,ArcObject基于COM技术构建,是所有ArcGIS开发活动,例如桌面版开发,服务器开发的基础。总的来说,应用ArcGIS开发,包括以下几个方面:○ 设置或自定义ArcGIS应用程序,例如ArcMap;○ 扩展ArcGIS,例如开发自己的扩展工具包(Toolbox),或者增加新的数据模型;○ 应用ArcEngine开发胖客户端应用程序,例如在其他程序中嵌入GIS功能;○ 应 阅读全文

posted @ 2013-04-26 11:40 大胡子青松 阅读(444) 评论(0) 推荐(0)

ArcMap工具栏中嵌入自定义按钮
摘要:ArcMap工具栏中嵌入自定义按钮2011-12-15 www.cxybl.com 标签:ArcMap工具栏自定义按钮在ArcMap工具栏中嵌入自定义按钮的实现方式,如下代码: using System; using System.Drawing; using System.Runtime.InteropServices; using ESRI.ArcGIS.ADF.BaseClasses; using ESRI.ArcGIS.ADF.CATIDs; using ESRI.ArcGIS.Framework; using ESRI.ArcGIS.在ArcMap工具栏中嵌入自定义按钮的实现方式,如 阅读全文

posted @ 2013-04-24 10:29 大胡子青松 阅读(788) 评论(0) 推荐(0)

自定义ArcGIS应用程序
摘要:ArcGIS的基础是ArcObject,ArcObject基于COM技术构建,是所有ArcGIS开发活动,例如桌面版开发,服务器开发的基础。总的来说,应用ArcGIS开发,包括以下几个方面:○ 设置或自定义ArcGIS应用程序,例如ArcMap;○ 扩展ArcGIS,例如开发自己的扩展工具包(Toolbox),或者增加新的数据模型;○ 应用ArcEngine开发胖客户端应用程序,例如在其他程序中嵌入GIS功能;○ 应用ArcGIS Server创建Web程序或者Web服务。有关AO和ArcGIS系列的关系,我们在各类文档中已经见得很多了,这里就不说了。有一点要强调,就是所有产品的核心是AO,而 阅读全文

posted @ 2013-04-23 22:47 大胡子青松 阅读(875) 评论(0) 推荐(0)

空间参考(三)-ArcGIS Engine的支持
摘要:空间参考(三)-ArcGIS Engine的支持上一篇/下一篇2011-08-30 22:24:59 / 个人分类:ArcGIS Engine之路查看( 750 )/评论( 4 )/评分(11/0)ArcGIS Engine提供了一系列对象供开发者管理GIS系统的坐标系统。对大部分开发者而言了解ProjectedCoordinateSystem, GeographicCoordinateSystem, SpatialReference Environment这三个组件类是非常有必要的,对于高级开发者而言,可能需要自定义坐标系统可以使用这些对象Projection,Datum,AngularUn 阅读全文

posted @ 2013-04-23 16:19 大胡子青松 阅读(608) 评论(0) 推荐(0)

ArcGIS中坐标系统简介
摘要:ArcGIS中坐标系统简介时间: 2011-08-17 / 分类:ArcGIS,GIS/ 浏览次数: 732 views /13个评论发表评论更多1GIS处理的是空间信息,而所有对空间信息的量算都是基于某个坐标系统的,因此GIS中坐标系统的定义是GIS系统的基础,正确理解GIS中的坐标系统就变得尤为重要。ArcGIS是大家常用的地理信息系统软件,但是对于其中的坐标系统,许多人都表示不理解。现在就介绍一下ArcGIS的坐标系统特点及其中常用坐标系统。首先,我们要介绍一下基础知识,在ArcGIS中,坐标系统有两种,一种叫做地理坐标系统(Geographic Coordinate Systems), 阅读全文

posted @ 2013-04-23 16:15 大胡子青松 阅读(705) 评论(0) 推荐(0)

Geographic coordinate system和projected coordinate
摘要:[转载]Geographiccoordinatesystem和projectedcoordinate(2010-12-15 11:55:15)转载▼标签:转载分类:GISMAP原文地址:Geographiccoordinatesystem和projectedcoordinate作者:gruand2008要明确两个概念:Geographiccoordinatesystem和projectedcoordinatesystem的区别。1、首先理解Geographiccoordinatesystem,Geographiccoordinatesystem直译为地理坐标系统,是以经纬度为地图的存储单位的。 阅读全文

posted @ 2013-04-23 16:03 大胡子青松 阅读(704) 评论(0) 推荐(0)

C#程序运行时间长出现无法响应状态
摘要:C#程序运行时间长出现无法响应状态5补充:大家好,我写了个C#应用程序,由于运行时间较长,大概有5分钟才能运行完毕。然而运行时窗口出现无法响应的状态,就是整个窗口除了关闭和最小化按钮可以点击,其余的全部不能点击了,但程序仍可正常运行完毕,而且没错误。请各位帮忙告诉我这是什么原因。好多程序在CPU占用100%的情况下都不会出现无法响应状态。可能有一个大的循环占用了主线程,建议使用多线程。只要你那个运算过程不涉及到界面的操作,一个简单的线程就可以。 阅读全文

posted @ 2013-04-21 10:18 大胡子青松 阅读(1600) 评论(0) 推荐(0)

C#多线程与UI响应 防界面假死
摘要:一.概述在使用C#进行应用程序设计时,经常会采用多线程的方式进行一些后台任务的工作。对于不同的应用场景,使用的策略也不尽相同。1.后台循环任务,少量UI更新:例如批量上传文件,并提供进度。这种情况使用BackgroundWorker组件是非常好的选择。2.耗时的后台任务:这里的耗时任务是指一个时间较长的任务,并且不能精确获取进度,如:调用一个远程WebService接口。这种情况可以开两个线程,一个工作,一个更新UI(不能提供进度,只能显示动画表示系统在运行中)。3.耗时的UI任务:当工作压力集中在UI响应上时,可以在工作者线程中增加延时,从而让UI线程获得响应时间。整个工作的总体时间会增加, 阅读全文

posted @ 2013-04-21 10:16 大胡子青松 阅读(837) 评论(0) 推荐(0)

C#使用多线程使软件界面具有较好的响应性
摘要:软件界面的响应特性是判断一款软件的非常重要的方面。一般来说,不管你软件功能做得有多么奇妙,如果软件有一点点死机的感觉都会让用户感到很讨厌,甚至怀疑你软件里是否藏有更大的问题。要提高界面的响应特性,最好的办法莫过于使用多线程,并把呈现界面的线程独立出来。以前只有使用C++才能实现的多线程功能,现在在.Net框架下,所有的语言(包括VB)都可以使用了。不过,使用多线程比使用单一线程要麻烦得多,比如线程之间的同步问题,做得不好很容易出错,而有的时候这种错误要开发人员花上几个星期的时间才能找到。在Windows Form软件中使用多线程更是有一些限制。下面我们就把在Windows Form软件中使用多 阅读全文

posted @ 2013-04-21 10:14 大胡子青松 阅读(207) 评论(0) 推荐(0)

多线程使用实例
摘要:usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.Threading;///<summary>///在开发中经常会遇到线程的例子,如果某个后台操作比较费时间,我们就可以启动一个线程去执行那个费时的操作,同时程序继续执行。在某些情况下可能会出现多个线程的同步协同的问题,下面的例子就展示了在两个线程之间如何协同工作。//////这个程序的思路是共同做一件事情(从一个ArrayList中删除元素),如果执行完成了,两个线程都停止执行。///作者:周公///时间:2008-5-17 阅读全文

posted @ 2013-04-21 07:34 大胡子青松 阅读(183) 评论(0) 推荐(0)

关于参数不足,期待是1
摘要:public IFeatureCursor QueryFeaturesCursor(IWorkspace ws, string featclsName,long GB) { //接口QI到IFeatureWorkspace IFeatureWorkspace pFeatWorkspace; pFeatWorkspace = ws as IFeatureWorkspace; IFeatureClass pFeatcls; pFeatcls =pF... 阅读全文

posted @ 2013-04-20 22:39 大胡子青松 阅读(605) 评论(0) 推荐(0)

关于ArcEngine“不能再打开其他表了”的错误 (2012-10-26 15:43:33)
摘要:从前遇到的这种问题,一般是在pFeatureCursor = pFeatureClass.Search(pSpatialfilter, False)这种语句上,只要把光标释放( ESRI.ArcGIS.ADF.ComReleaser.ReleaseCOMObject(pFeatureCursor))就ok了。今天特别奇怪,在pFeatureClass.GetFeature(pID)这里出现问题,也没有光标啊,于是我把注意力又重新转移回“不能再打开其他表了”的原始提示上分析,问题就是要素类的表被打开太多次了,最终的解决方案,强制一次垃圾回收。System.GC.Collect()'强制对 阅读全文

posted @ 2013-04-20 22:18 大胡子青松 阅读(363) 评论(0) 推荐(0)

爆出错误:The Geometry has no Z values
摘要:ArcGis添加地图标注,爆出错误:The Geometry has no Z values解决方法如下:public bool AddFeature( ESRI.ArcGIS.Geometry.IGeometry geometry,System.Collections.Generic.Dictionary<string ,object> properties) { try { ESRI.ArcGIS.Geodatabase.IFeature feature = _featureLayer.FeatureClass.CreateFeature(); ... 阅读全文

posted @ 2013-04-16 19:26 大胡子青松 阅读(656) 评论(0) 推荐(0)

arcengine创建要素类、图层的方法
摘要:arcengine创建要素类、图层的方法分类:.netAO开发2013-01-13 13:06141人阅读评论(0)收藏举报AEae创建图层创建要素类别人写的,感觉不错/// <summary> 2 /// 创建要素类 3 /// </summary> 4 /// <param name="pObject">IWorkspace或者IFeatureDataset对象</param> 5 /// <param name="pName">要素类名称</param> 6 /// <p 阅读全文

posted @ 2013-04-15 19:10 大胡子青松 阅读(1125) 评论(0) 推荐(0)

关于AO插入对象
摘要:关于AO插入对象在向Table、FeatureClass中添加记录的时候有几种可供选用的插入方法,他们在不同的使用环境中效率不同……1 Store方法使用IRow、IFeature的Store由ITable或IFeatureClass的CreateRow() CreateFeature()方法先创建对象经赋值操作后调用Store此方法在各种环境中速度均较低但其获得的信息相对最全适用于经UI交互产生的数据对象a)在CreateRow()时进行一次数据库访问[insert]b)创建之后已Row中已返回OID值c)其他字段赋值之后调用Store进行第二次数据库访问[updata]此时激发Row对象的 阅读全文

posted @ 2013-04-15 18:06 大胡子青松 阅读(285) 评论(0) 推荐(0)

对featureclass中插入和删除feature的几种方法进行了比较
摘要:本文对featureclass中插入和删除feature的几种方法进行了比较。一、插入单个feature,方法1和方法2差别不大方法1:''' <summary> ''' 向featureclass中插入feature ''' </summary> ''' <param name="pFeatureClass">要插入的featureclass</param> ''' <remarks></ 阅读全文

posted @ 2013-04-15 14:47 大胡子青松 阅读(449) 评论(0) 推荐(0)

为什么使用接口编程
摘要:为什么使用接口编程{转载}进行接口的介绍,必须介绍一下程序语言发展的历史才行,鲁迅先生说过“治学先治史”,明白了程序语言发展的前世今生,才能知道为什么这么多语言为什么会这样,为什么么会那样?计算机出现以后,科学家相继开发了多种语言,从smalltalk,Pascal,Basic,C语言,C++,java,.net等等,这些语言的发展步伐,可以看作是从面向过程向面向对象发展的一段历史。很多面向对象的书在介绍自己的历史的时候,都会给读者介绍这一段历史,并鼓吹OO编程是多么多么的优异。问题是,很多刚开始学程序的人根本不知道为什么要有这个转变,他们也很难理解OO语言中的虚函数,接口等概念到底为了什么而 阅读全文

posted @ 2013-04-15 14:34 大胡子青松 阅读(254) 评论(0) 推荐(0)

ArcGIS Engine开发基础之QI
摘要:ArcGIS Engine开发基础之QI上一篇/下一篇2009-04-09 14:44:17查看( 1291 )/评论( 37 )/评分(101/5)AO开发中QI(接口查询)非常重要,从某种意义上说不会QI就不会做AO开发。在讲ArcGIS Engine开发QI实例操作之前,以一个现实生活例子以方便大家理解QI。1.首先我先定义三个接口:IZou(走),IJingzou(竞走),IHeshui(喝水)如下所示 interface IZou { void start(); void stop(); } interface IJingzou: IZou { void niupigu();... 阅读全文

posted @ 2013-04-15 14:17 大胡子青松 阅读(288) 评论(0) 推荐(0)

所选中的要素,赋值给一个定义好的变量pCurFea
摘要:问题提出:ARCengine中,我用arcgis的选择工具实现了选择功能。代码如下:private void 选择要素ToolStripMenuItem_Click(object sender, EventArgs e){ESRI.ArcGIS.Controls.ControlsSelectFeaturesTool select = new ESRI.ArcGIS.Controls.ControlsSelectFeaturesTool();select.OnCreate(axMapControl1.Object);axMapControl1.CurrentTool = select as ES 阅读全文

posted @ 2013-04-15 13:39 大胡子青松 阅读(219) 评论(0) 推荐(0)

用ArcEngine的工具条添加图层要素
摘要:用ArcEngine的工具条添加图层要素2008-03-25 01:43:41|分类:专业之AO|字号订阅private void Form1_Load(object sender, System.EventArgs e){ //清空图层 this.axMapControl1.Map.ClearLayers(); //加载服务器SDE地图信息 ESRI.ArcGIS.esriSystem.IPropertySet Proset = new ESRI.ArcGIS.esriSystem.PropertySetClass();//属性集 ESRI.ArcGIS.Geodatabase.IWorks 阅读全文

posted @ 2013-04-15 13:29 大胡子青松 阅读(387) 评论(0) 推荐(0)

导航