ArcEngine开发常见报错原因分析及解决方法

本文详细分析了ArcEngine开发中常见的错误,包括‘ArcGIS version not specified’、‘HRESULT:0x80040258’、‘HRESULT:0x80040228’等,并提供了相应的解决策略,如绑定软件许可版本、修正参数路径、添加license控件等。

       本文列举了ArcEngine开发过程中常见的几种报错,分析了报错原因并阐述了解决办法。

【报错1】:

       在窗体中拖入控件,运行时报错“ArcGIS version not specified. You must callRuntimeManager.Bind before creating any ArcGIS components.”


       解决方法:在程序入口main函数中添加绑定软件许可版本的代码“ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);”。

【报错2】:

       报错“HRESULT:0x80040258”


    解决方法:

IWorkspacepWorkspace =pWorkspaceFactory.OpenFromFile(pShpPath,0); 

此类报错不是代码的问题,而是带进去的参数不对,比如pShpPath 只是路径名字,比如C:\\AAA就不会报错,如果使用全路径名字C:\\AAA\\BBB.shp所以就出错了。


【报错3】:

       报错“HRESULT:0x80040228”

       解决方法:往窗体添加一个license控件。


【报错4】:

       往窗体中拖入ArcGIS控件报错


       解决方法:

       打开ArcGIS License Server Administrator10.1,启动license Service即可。

【报错5】:

       报错“HRESULT:0x80040351”

       解决方法:pFeatureWorkspace.OpenFeatureClass()括号内的参数应该是“samplepoint.shp”而非绝对路径,修改绝对路径为文件名即可。


【报错6】:

       报错”异常来自 HRESULT:0x80040207”

       解决办法:

       检查发现是QueryFilter.WhereClause语句在查询shapefile格式的图层出现了问题,试验在查询gdb格式的图层不会报错。打开ArcGIS比较了两种格式的属性查询存在以下的区别:

       1.shapefile的字段名用双引号如:"fieldName"GDB的采用[fieldName]格式;

       2.shapefile的模糊查询用like '%A%' GDBlike '*A*'

      3.shapefile的非字符字段不支持模糊查询而GDB格式的支持;


【报错7】:

       使用语句“ESRI.ArcGIS.Geometry.IPointpoint = new ESRI.ArcGIS.Geometry.PointClass();”报错,报错如下图:


       解决方法:在解决方案引用中选择ESRI.ArcGIS.Geometry,右键菜单查看属性,把嵌入互操作类型True改成False即可。


评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值