1、说明

在使用ArcGIS桌面产品的时候,有时会碰到这样的情况:同时在ArcCatalog和ArcMap中浏览图层数据,然后在ArcMap中remove掉图层,再回到ArcCatalog中删除该图层,却得到该图层被锁的信息。非得关掉ArcMap才能正常删除。同样的情况也会在ArcEngine开发的应用程序中碰到。可有时候会有这样需要,在不关闭ArcEngine应用程序的情况下,对图层数据做相应的操作,如将图层数据压缩打包。对这个问题ArcEngine提供了相应的接口控制,只是我们很少去关注而已。

2、解锁资源文件

解除对资源文件的锁定需要使用IWorkspaceFactoryLockControl接口,默认情况下对资源文件的锁定状态是打开的,可通过如下的方式得知:

ipWsFactoryLock.SchemaLockingEnabled

解锁资源文件的一般步骤:使用IWorkspaceFactoryLockControl接口关闭资源锁定,然后在使用完AE COM接口后,使用ComRelease释放COM接口即可。示例源码如下:

private void mnuItemUnlockFGDB_Click(object sender, EventArgs e)

{

IWorkspaceFactory2 ipWsFactory = new FileGDBWorkspaceFactoryClass();

//关闭资源锁定

IWorkspaceFactoryLockControl ipWsFactoryLock;

ipWsFactoryLock = (IWorkspaceFactoryLockControl)ipWsFactory;

if (ipWsFactoryLock.SchemaLockingEnabled)

{

ipWsFactoryLock.DisableSchemaLocking();

}

String strConn = "DATABASE=F:\\临时测试\\world.gdb";

IWorkspace ipWorkspace = ipWsFactory.OpenFromString(strConn,0);

IFeatureWorkspace ipFtWorkspace = (IFeatureWorkspace)ipWorkspace;

IFeatureDataset ipFtDataset = ipFtWorkspace.OpenFeatureDataset("world");

IEnumDataset ipEnumDataset = ipFtDataset.Subsets;

ipEnumDataset.Reset();

IDataset ipDataset = ipEnumDataset.Next();

while (ipDataset!=null)

{

IFeatureClass ipFtClass = (IFeatureClass)ipDataset;

IFeatureLayer ipFtLayer = new FeatureLayerClass();

ipFtLayer.FeatureClass = ipFtClass;

ipFtLayer.Name = ipDataset.Name;

//对图层做相关操作处理

ipDataset = ipEnumDataset.Next();

ComReleaser.ReleaseCOMObject(ipFtClass);

ComReleaser.ReleaseCOMObject(ipFtLayer);

}

ComReleaser.ReleaseCOMObject(ipWorkspace);

ComReleaser.ReleaseCOMObject(ipFtWorkspace);

ComReleaser.ReleaseCOMObject(ipFtDataset);

ComReleaser.ReleaseCOMObject(ipEnumDataset);

ComReleaser.ReleaseCOMObject(ipDataset);

ComReleaser.ReleaseCOMObject(ipWsFactory);

ComReleaser.ReleaseCOMObject(ipWsFactoryLock);

}

AE中如何解除锁定的资源文件相关推荐

  1. android 颜色资源文件,android中colors.xml颜色设置资源文件的方法

    1. 打开res目录下的values文件夹,双击打开colors.xml文件进行编辑 上代码 #008577 #00574B #D81B60 #ff0000 #0000ff 2. 在res目录下的la ...

  2. c#中中读取嵌入和使用资源文件的方法

    Dotnet中嵌入资源(位图.图标或光标等)有两种方式,一是直接把资源文件加入到项目,作为嵌入资源,在代码中通过Assembly的GetManifestResourceStream方法获取资源的Str ...

  3. VB6.0中创建和使用文本资源文件

    不少网友问及如何在VB中建立和使用文本资源文件.我想这也是很多VB初学者迫切想掌握的技巧.为此,将回答网友的信件整理了一下,形成此文,希望对大家有些帮助. 一.文本资源文件的建立 第一步:启动资源编辑 ...

  4. android 中color目录,android中colors.xml颜色设置资源文件的方法

    1. 打开res目录下的values文件夹,双击打开colors.xml文件进行编辑 上代码 #008577 #00574B #D81B60 #ff0000 #0000ff 2. 在res目录下的la ...

  5. 解决 IDEA 中src下xml等资源文件无法读取的问题

    该问题的实质是,idea对classpath的规定. 在eclipse中,把资源文件放在src文件夹下,是可以找到的: 但是在idea中,直接把资源文件放在src文件夹下,如果不进行设置,是不能被找到 ...

  6. android中拷贝assets下的资源文件到SD卡中(可以超过1M)

    很多手机游戏,在安装APK之后都得需要下载相应的资源包,然后才能进入游戏. 有这样一个需求:就是游戏中需要的资源包打在APK内,随apk一起进行安装到手机中. 这样就不需要,在安装APK之后,去下载资 ...

  7. 关于 Kubernetes 中通过 Kustomize 定制 Yaml资源文件的一些笔记

    写在前面 分享一些 Kustomize 的笔记 博文内容涉及: Kustomize 的简单介绍 Kustomize 安装 Kustomize 生成资源yaml 文件 Demo 理解不足小伙伴帮忙指正 ...

  8. 关于Kubernetes 中通过 Kustomize 实现YAML资源文件组合与继承的一些笔记

    写在前面 分享一些通过Kustomize 实现YAML资源文件组合与继承的笔记 官方文档里叫做组织和定制,这里这么叫方便理解 博文内容基本为官网文档内容 理解不足小伙伴帮忙指正 傍晚时分,你坐在屋檐下 ...

  9. android gradle resvalue,在插件中Gradle使用resValue在资源文件中添加信息,导致realease版本编译失败...

    问题详细描述 Detailed description of the problem 由于在插件中无法读取自身的meta-data,因此在资源文件中做一些分渠道分发的内容填充.但是使用resValue ...

最新文章

  1. 用工具进行CAD转换图片的过程
  2. 武汉网络推广介绍如何通过简化标题来提升主关键词排名?
  3. android出现adpt2的问题,android - 尝试在空对象引用上调用接口方法'int android.database.Cursor.getCount()'[重复] - 堆栈内存溢出...
  4. jquery实现截取pc图片_jquery实现图片裁剪思路及实现
  5. linux内核挂载nfs,Linux 挂载NFS文件系统
  6. linux 搭建github,github在linux上的环境搭建-Go语言中文社区
  7. 苹果公布WWDC20大会安排、Snapchat上线小程序功能、QUIC和HTTP/3 将定稿|Decode the Week...
  8. 54. C# -- 泛型(Generic)
  9. Gitlab代码库自动同步到Github
  10. Unity3D第三人称Camera视角旋转实现
  11. 世界名牌大学课件下载地址
  12. 传奇服务器如何修改地图和刷怪,传奇如何将怪物刷在指定地图?
  13. 美国 android手机号码,格式编辑文本为美国电话号码1(xxx)-xxxx你在android中键入?...
  14. 阿里云服务器搭建Django环境二:django+mysql环境搭建
  15. 董事长、总裁与CEO
  16. VSPD虚拟串口软件的一些使用说明
  17. nginx同一个地址端口代理多个页面
  18. Selenium在Firefox浏览器中UI自动化测试环境搭建
  19. 【Lombok】@Builder | 提供 Builder 形式轻松实现对象创建
  20. ipad iphone开发_如何修复iPhone或iPad上崩溃的应用程序

热门文章

  1. Android.Hook框架Cydia篇(脱壳机制作)
  2. 办公自动化系统(OA)
  3. L2-024. 部落
  4. 厦门大学计算机博士好考吗,2019年圆梦厦大博士:过年才开始复习,我是这样考上的...
  5. 能ping通百度,但是上不了网的解决方法〔转载〕
  6. 录屏软件:Camtasia Studio 8汉化教程
  7. 79422-73-4|2-氨基-2-(3-溴苯基)乙酸|3-Bromo-DL-phenylglycine
  8. 【HAL库】STM32+ESP8266+Onenet+MQTT,极简工程,hal库移植。
  9. python分析并爬取今日头条的视频链接
  10. 【中医推荐】33部中医书籍,中医医书精品(在线免费阅读),值得珍藏的国粹,涵盖中药、针灸、推拿、按摩、拔罐、气功,食疗等诸多领域