关于ArcEngine“不能再打开其他表了”的错误 (2012-10-26 15:43:33)

从前遇到的这种问题,一般是在pFeatureCursor = pFeatureClass.Search(pSpatialfilter, False)这种语句上,只要把光标释放( ESRI.ArcGIS.ADF.ComReleaser.ReleaseCOMObject(pFeatureCursor)  )就ok了。
今天特别奇怪,在pFeatureClass.GetFeature(pID)这里出现问题,也没有光标啊,于是我把注意力又重新转移回“不能再打开其他表了”的原始提示上分析,问题就是要素类的表被打开太多次了,最终的解决方案,强制一次垃圾回收。
 System.GC.Collect()                                           '强制对所有代进行垃圾回收。
 System.GC.WaitForPendingFinalizers()             '挂起当前线程,直到处理终结器队列的线程清空该队列为止。
原来系统里有这些代码的,只是以前没有出现错误就把他们伟大的作用忽略了。
http://blog.163.com/lush-123/blog/static/3979337200983113440721/

你可能感兴趣的:(ArcEngine)