
ArcGis Engine二次开发
分享ArcGis Engine二次开发过程中碰到的问题,欢迎交流
西域健客
自然资源行业软件、农业农村行业软件、实用工具、插件、地理信息系统软件二次开发,欢迎交流。V: KingKong1578(注明来意)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ArcEngine开发中,当点击窗体中的ButtoncClick时,程序需等待五六秒才反应过来,的解决方案。
一、在ArcGisEngine开发中,碰到一个非常奇怪的问题,代码逻辑没有一点问题,但是点击这个确定按扭执行时,发现程序不能立即响应,会延迟五到六秒左右才开始执行,这种问题也是千古难遇。二、经过反复排查,发现罪魁祸首居然是,居然是:在Button的Click()事件中,直接写了gp的方法,才导致的延迟。三、解决方案,将Click事件中的gp方法,全部封装成一个函数,在Click事件中,直接调用这个函数,问题得到解决。四、思索:知其然,未知其所以然,问题解决了就可以了。原创 2025-02-19 23:43:38 · 237 阅读 · 0 评论 -
IFeatureWorkspace.CreateFeatureClass(),报错对COM组件的调用返回了错误 HRESULT E_FAIL
在AE开发中,新建一个空的shp文件时,报错的解决方案原创 2025-02-04 23:13:37 · 336 阅读 · 0 评论 -
硬件狗加密案例(以天域狗为例
硬件狗实现方法原创 2024-10-15 21:27:49 · 755 阅读 · 0 评论 -
ArcgisEngine开发中,Ifeatureclass.Addfield 报错0x80040655处理方法
ArcgisEngine开发中,Ifeatureclass.Addfield 报错0x80040655原创 2024-09-29 11:08:47 · 260 阅读 · 0 评论 -
Arcengine 添加字段时,显示General function failuer
General function failuer是常规故障,问题原因是文件占用,只要把文件在其他程序中退出(如arcgis)就不会报错了。Arcengine开发的时候,在addfield(添加字段)操作时,显示General function failuer。原创 2024-06-26 10:44:36 · 421 阅读 · 0 评论 -
ArcgisEngine 释放内存案例
当程序运行到2700左右的时候,就不断报错,显示是内存错误,检查程序中,已经对COM对象作了 ComReleaser.ReleaseCOMObject操作,不知道是何故。通过反复测试,发现在ComReleaser.ReleaseCOMObject(),再增加一句 GC.Collect(),问题得到解决。写了一个循环代码,里面有一句获取相交后的图形。原创 2024-06-23 23:07:27 · 429 阅读 · 0 评论 -
案例一则:DataGridView 中发生以下异常: DataGridViewComboBoxCell 值无效,要替换此默认对话框,请处理 DataError事件
第二列数据的单元格类型为DataGridViewComboBox,这种不像普通的text文本类型,不能直接通过dataGridView.Rows[i].Cells[i].Value = "某值"来赋值,必须是像commbox控件一样,先将值填充到items中,,再由用户下拉选择相应的值,但是当更换图层featureclass后,首先要清空items中的值,但是单元格显示的内容却没有清空,导致一直报错。//这里是关键,清空datagridView中列的数据后,还要让这列显示的数据为空,即""原创 2024-06-05 15:15:54 · 1973 阅读 · 0 评论 -
未能加载文件或程序集“NPOI.OpenXmlFormats.XmlSerializers, Version=2.3.0.0,Culture=neutral,PublicKeyToken=Odf73;
NPOI.OpenXmlFormats.XmlSerializers, Version=2.3.0.0,Culture=neutral,PublicKeyToken=Odf73ec7942b34e1和part name shall not have a forward slash as the lastcharacter [M1.5]:/docProps/的解决方案原创 2023-10-26 17:41:26 · 1836 阅读 · 1 评论 -
再谈平板电脑墨迹错误代码。
Message=平板电脑墨迹错误代码。多次调用 RtpEnabled (异常来自 HRESULT:0x80040239)原创 2022-10-28 23:57:02 · 1206 阅读 · 1 评论 -
AE开发,平板电板墨迹代码
3、修改Buffer的参数值,修改初始值为0,步长为50。自己改了下代码,不知道方法是不是正确的,反正不报错了。运行到这句的时候,报平板电板墨迹代码报错。1、修改代码中两行代码的顺序,之前搞反了。原创 2022-09-15 21:58:55 · 630 阅读 · 0 评论 -
IFeatureCursor.UpdateFeature()方法,在写入数据时,报错:尝试读取或写入受保护的内存。这通常指示其他内存已损坏的解决方法,亲测有效
在AE开发中,进行数据属性表更新时,用到IFeatureCursor.UpdateFeature()方法,在写入数据时,报错:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。测试数据为shp数据,这时只要将加上将数据的工作空间打开,开始编辑,最后再关闭编辑,就不会再报错了。 IDataset dataset = (IDataset)dltb_pfs; IWorkspace workspace = dataset.Workspace; ..原创 2021-06-28 18:20:14 · 714 阅读 · 0 评论 -
ArcGis engine开发中,FlexNet Licensing error:-42,147报错的解决办法,亲测有用!
在AE开发(环境为VS2012+AE10.2)中,碰到一个很奇怪的问题,只要一打开VS,就报错弹出以下的错误信息界面,这个问题困扰了非常久,期间试过很多方法,都无法解决。最后发现,问题的元凶在licenseControl控件,只要licexseControl控件中,选择了advanced的选项,过几分钟,VS在编辑状态下就弹出报错窗口,只要一点确定,VS直接关闭,写好的代码将无法保存,非常讨厌。Provide your license server administrator with the foll原创 2021-02-02 18:24:03 · 2848 阅读 · 3 评论 -
DEV中,TreeList能读取到数据但不显示的解决方法
在DEV中的树状控件中,有时能读取到数据,但是不显示数据到控件中,如下图,只显示一个三角形,也不报错。解决方法:需要在treelist控件中,增加一列。1、点中treelist控制,点击run designer.2、点击添加一列,并把它的标题改为空。...原创 2020-06-02 18:02:53 · 1738 阅读 · 0 评论 -
AE中如何解除锁定的资源文件
1、说明在使用ArcGIS桌面产品的时候,有时会碰到这样的情况:同时在ArcCatalog和ArcMap中浏览图层数据,然后在ArcMap中remove掉图层,再回到ArcCatalog中删除该图层,却得到该图层被锁的信息。非得关掉ArcMap才能正常删除。同样的情况也会在ArcEngine开发的应用程序中碰到。可有时候会有这样需要,在不关闭ArcEngine应用程序的情况下,对图层数据...转载 2020-02-27 16:01:20 · 2746 阅读 · 0 评论 -
AE 打开各种格式文件
/// <summary>/// 打开ShapeFile文件/// </summary>/// <param name="filePath">文件路径</param>/// <param name="fileName">文件名</param>/// <returns>IFeatureClass<...转载 2020-02-01 11:28:44 · 716 阅读 · 0 评论 -
Arcgis Engine(ae)接口详解(5):IGeometry几何高级操作
IPoint point = new PointClass(); point.PutCoords(100, 200); //ITopologicalOperator接口用于几何对象的几何操作 ITopologicalOperator topo = point as ITopologicalOperator; ...转载 2020-01-07 19:43:46 · 1157 阅读 · 0 评论 -
AE中的IElement接口
IElementAE中绘制图形元素的方法Element元素对象是一个非常庞杂的对象集合,主要分为两大部分:图形元素(Graphic Element)和框架元素(Frame Element);图形元素包括GroupElement、MarkerElement、LineElement、TextElement、DataElement、PictureElement、和FillShapeEl...转载 2020-01-07 15:31:44 · 2125 阅读 · 0 评论 -
AE开发常用经验汇集
一、AE 向已存在的要素类中添加字段链接: AE 向已存在的要素类中添加字段在向已存在的要素类中添加字段的时候,需要用到ICLASS接口。于是,进一步的调整代码如下,问题得以解决static void AddFiled(IFeatureClass pFC,string name){DeleteFile(pFC, name);IFields pFields = pFC.Fie...转载 2019-09-16 14:17:22 · 346 阅读 · 0 评论 -
AE调用gp服务
AE调用gp服务参考:http://www.cnblogs.com/zhangjun1130/archive/2010/05/26/1744472.html Geoprocessing是ArcGIS提供的一个非常实用的工具,借由Geoprocessing工具可以方便的调用ArcToolBox中提供的各类工具,本文在ArcEngine9.2平台环境下总结了调用ArcToolBox工具...转载 2019-09-11 16:39:58 · 386 阅读 · 0 评论 -
AE获取 对话框中的shp文件,并添加字段
1、先定义一个函数,读取对话框中的shp文件,并返回一个ifeatureclass对象。public static IFeatureClass OpenShp(string shpPath) { string dirPath = System.IO.Path.GetDirectoryName(shpPath); string...原创 2019-09-04 17:51:38 · 504 阅读 · 2 评论 -
定义函数
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.W...原创 2019-01-29 17:45:05 · 98 阅读 · 0 评论 -
ArcGIS10:ArcGIS version not specified. You must call RuntimeManager.Bind before creating any ArcGIS
今天将ArcGIS系列的软件从ArcGIS9.3.1升级到ArcGIS10,然后就使用VS创建一个简单的AE应用程序,然后拖放一个toolbar、LicenseControl以及MapControl控件。接着编译应用程序,编译成功。然后单击F5运行程序,这个时候程序报错,出现下面所示的错误:ArcGIS version not specified. You must call Runt...转载 2019-02-22 21:38:54 · 1218 阅读 · 0 评论 -
用代码实现对ARCGIS的图层重命名(只是layer变换名字,文件名不变)、设置比例尺、打开关闭图层。
注意:需要引用命名空间为ESRI.ArcGIS.Carto,全部代码如下: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;u...原创 2019-02-22 22:10:58 · 1894 阅读 · 0 评论 -
接口继承
1、类继承接口,通过":";2、实例化一、定义一个接口Icar1。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace jiedoutianzhuan{ interface Ic...原创 2019-02-12 13:57:16 · 230 阅读 · 0 评论 -
两个类继承一个接口
一、先定义一个接口using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace jiekou{ interface Icar { void start(); ...原创 2019-02-18 21:51:48 · 1345 阅读 · 0 评论 -
简单的封装及实现
一、定义一个类并封装using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 封装继承多态{ class jisuan { public int jsA(int ...原创 2019-02-18 22:00:03 · 331 阅读 · 0 评论 -
简单除法运算器
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System....原创 2019-02-18 22:02:58 · 469 阅读 · 0 评论 -
AE 添加,删除字段
AE小白,错误欢迎指正一、添加字段和删除字段的思路1、获取图层2、获取图层中的要素3、获取要素中的属性表4、删除时,获取属性字段的索引值代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Dra...原创 2019-02-24 22:21:47 · 834 阅读 · 0 评论 -
AE中添加字段,删除字段,查找索引号,查找属性值
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System....原创 2019-02-24 23:55:52 · 928 阅读 · 0 评论 -
解决Arcgis 10.2 license无法启动的问题,lmgrd -z-c service.txt
gis小白在破解过程中就遇到了第一个难关,在网上搜了各种经验都木有用,最后终于解决了!忍不住分享出来。 划重点:安装过程断网、断网、断网,关掉防火墙,关掉防火墙,关掉防火墙。 关闭防火墙没用,按照大神的经验在命令提示符里面输入安装目录下的lmgrd -z-c service.txt,提示什么不是内部或外部命令,小白我又晕了。 好吧。看一下为什么不是什么鬼命令,发现说输入的pragr...转载 2019-06-25 09:13:58 · 14571 阅读 · 5 评论 -
Win10中安装ArcObject帮助(亲测有效),未能在本地帮助中找到您请求的主题MSDN,两个问题一并解决。
一、Win10中安装ArcObject帮助出错解决办法(亲测有效)1、问题:环境:Win10+VS2010+ArcGIS10.0,未能成功安装其AO帮助文档;使用help library manager手动安装也报错。是win10系统的原因。2、解决办法:将下面一段代码,复制到文本文件中,另存为reg文件,导入到注册表中,再重新执行上面的本地安装步骤,重新导入安装。Win...原创 2019-07-06 02:43:40 · 2235 阅读 · 1 评论 -
打开mxd地图文档
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.W...原创 2019-08-08 15:35:25 · 561 阅读 · 0 评论 -
地图框加载shp文件
private void button2_Click(object sender, EventArgs e) { string[] addshp = openshapefile();//定义一个数组变量addshp用来接收函数的返回值 axMapControl1.AddShapeFile(addshp[0],addshp[1]);...原创 2019-08-08 15:36:13 · 668 阅读 · 0 评论 -
无法嵌入互操作类型“ESRI.ArcGIS.Controls.ControlsMapZoomInToolClass”。请改用适用的接口。解决办法
今天在做一个AE放大控件的时候,报无法嵌入互操作类型“ESRI.ArcGIS.Controls.ControlsMapZoomInToolClass”。请改用适用的接口的错误,解决办法如下:1、找到ControlsMapZoomInToolClass类的引用ESRI.ArcGIS.Controls,点右键,属性。2、将嵌入互操作类型由True改为False。3、重新生成,不报错...原创 2019-08-31 09:46:50 · 2170 阅读 · 1 评论 -
C#中的循环语句
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.W...原创 2019-01-29 16:40:37 · 587 阅读 · 0 评论