新建IFeatureWorkspace,CreatFeatureClass,然后CreatFeature,最后将图层添加到IMap中,设置渲染方式,显示,然后删除图层。再删除该数据的文件。这一系列操作后如何解除该数据被占用无法删除问题。pFeatureCursor,pFeatureBuffer,workspace,workspaceEdit在CreatFeature完毕后均已释放System.Runtime.InteropServices.Marshal.FinalReleaseComObject()
4 个回复
Luki - https://www.zhihu.com/people/Y-lusheng
赞同来自: Nico 、阡陌的根号武
SR - schema lock
RD - read lock
ED - edit lock
WR-write lcok
第一种是常规的lock文件,使用arcmap加载的时候也会自动生成这种lock文件,所以这种文件
解锁是比较容易,直接使用IWorkspaceFactoryLockControl 接口即可 第二种是读取文件的时候自动生成的lock文件,暂时没有遇到过这种锁文件
第三种很明显就是编辑时候自动生成的lock文件,停止编辑会自动消失
第四种,也就是你这里遇到的,在create shp文件的时候生成的,释放游标的方法我没有试过,但你这里
没用。我当时的解决方案是,既然不用生成这个文件,为何不直接CreateFeatureBuffer
朱新颖
赞同来自: Nico
Nico - 90后IT女
赞同来自:
nfc - GISer
赞同来自:
ESRI.ArcGIS.ADF.RealeaseCOMObject(workspace);
ESRI.ArcGIS.ADF.RealeaseCOMObject(featureClass);
ESRI.ArcGIS.ADF.RealeaseCOMObject(featureCursor);
用到的COM对象都要释放,还有IField,IFields,IFeature,IFeatureBuffer
要回复问题请先登录或注册
发起人
90后IT女
相关问题
问题状态