错误提示内容:
“System.Runtime.InteropServices.COMException (0x80028019): 格式太旧或是类型库无效。 (异常来自 HRESULT:0x80028019 (TYPE_E_UNSUPFORMAT)) 在 ESRI.ArcGIS.Geodatabase.IFeatureClass.CreateFeatureBuffer()”
本人的这个错误出现的地方是在使用多边形要素进行空间查询时出错。
ISpatialFilter spatialQuery; spatialQuery = new SpatialFilterClass(); spatialQuery.Geometry = queryGeometry; spatialQuery.SearchOrder = esriSearchOrder.esriSearchOrderSpatial; spatialQuery.SpatialRel = esriSpatialRelEnum.esriSpatialRelContains; // here IFeatureCursor featCursorSearch = featClsPYS.Search(spatFilter, false);
arcgis engine 开发中会报这些错误,好多都是没有释放AE接口对象导致内存吃紧。比如这样释放一下就ok了;
ESRI.ArcGIS.ADF.ComReleaser.ReleaseCOMObject(point); ESRI.ArcGIS.ADF.ComReleaser.ReleaseCOMObject(featureBuffer); ESRI.ArcGIS.ADF.ComReleaser.ReleaseCOMObject(_fc); ESRI.ArcGIS.ADF.ComReleaser.ReleaseCOMObject(insertCursor);
参照文章:
格式太旧或是类型库无效。 (Exception from HRESULT: 0x80028019 (TYPE_E_UNSUPFORMAT)) , 里面有提到内存溢出