解决方法"/>
ArcGIS之“异常来自HRESULT:0x8004021F”解决方法
一、问题描述:异常来自HRESULT:0x8004021F
这是同事在做GeoDatabase方面的开发时遇到的问题,我拿到他的源代码分析一下,发现程序代码逻辑上并没有什么Bug。用百度搜索下,有且仅只找到两条相关记录,都是求救的贴子,下文毫无解决办法,看了等于白看,心里稍微安慰的是知道以前有人也遇到过类似的问题,算是前有来者了,自己并不孤独。可是这还是无济于事,问题依然还是问题。
二、问题分析:
下面是自己参考ArcGIS开发帮助文档写的创建FeatureClass的代码实例,调试时还是会弹出前面所描述的错误,用IFeatureDataset创建要素类时弹出的好像是license权限不够,估计是license没有签出的缘故。
1 /**//// <summary>
2 /// 创建要素类
3 /// </summary>
4 /// <param name="pObject">IWorkspace或者IFeatureDataset对象</param>
5 /// <param name="pName">要素类名称</param>
6 /// <param name="pSpatialReference">空间参考</param>
7 /// <param name="pFeatureType">要素类型</param>
8 /// <param name="pGeometryType">几何类型</param>
9 /// <param name="pFields">字段集</param>
10 /// <param name="pUidClsId">CLSID值</param>
11 /// <param name="pUidClsExt">EXTCLSID值</param>
12 /// <param name="pConfigWord">配置信息关键词</param>
13 /// <returns>返回IFeatureClass</returns>
14 public static IFeatureClass CreateFeatureClass(object pObject, string pName, ISpatialReference pSpatialReference, esriFeatureType pFeatureType,
15 esriGeometryType pGeometryType, IFields pFields, UID pUidClsId, UID pUidClsExt, string pConfigWord)
16 {
17 错误检测#region 错误检测
18 if (pObject == null)
19 {
20 throw (new Exception("[pObject] 不能为空!"));
21 }
22 if (!((pObject is IFeatureWorkspace) || (pObject is IFeatureDataset)))
23 {
24 throw (new Exception(
更多推荐
ArcGIS之“异常来自HRESULT:0x8004021F”解决方法
发布评论