錯誤提示內容:
“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)) , 里面有提到內存溢出