首页 > 代码库 > shapefile文件锁定问题

shapefile文件锁定问题

      之前很长一段时间,导出shapefile文件老是不能解锁,后缀为wr.lock及sr.lock的lock文件不能消除。

我是释放了要素类及游标等接口的:         

            System.Runtime.InteropServices.Marshal.ReleaseComObject(featureCursor)
            System.Runtime.InteropServices.Marshal.ReleaseComObject(featureClass)

      在网上搜了许多资料,按照别人办法用了IWorkspaceFactoryLockControl接口,代码如下:

            Dim ipWsFactoryLock As IWorkspaceFactoryLockControl
            ipWsFactoryLock = wSpaceFactory
            If ipWsFactoryLock.SchemaLockingEnabled Then
                ipWsFactoryLock.DisableSchemaLocking()
            End If

      这样一来,sr.lock文件是可以清除的,但是wr.lock文件仍然固守阵地。后来经过反复探索理解,断定是数据中仍有未释放部分的缘故。结果真是,我用IFeatureBuffer来插入要素,到头来newFeatureBuffer对象没有释放。  

      加上行:System.Runtime.InteropServices.Marshal.ReleaseComObject(newFeatureBuffer)

      大功告成,导出的数据没有lock锁定文件了。