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

来源:互联网 发布:苏州团扇李晶淘宝店 编辑:程序博客网 时间:2024/05/16 11:52

       本文列举了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即可。


0 0
原创粉丝点击