AE中如何解除锁定的资源文件
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中如何解除锁定的资源文件相关推荐
- android 颜色资源文件,android中colors.xml颜色设置资源文件的方法
1. 打开res目录下的values文件夹,双击打开colors.xml文件进行编辑 上代码 #008577 #00574B #D81B60 #ff0000 #0000ff 2. 在res目录下的la ...
- c#中中读取嵌入和使用资源文件的方法
Dotnet中嵌入资源(位图.图标或光标等)有两种方式,一是直接把资源文件加入到项目,作为嵌入资源,在代码中通过Assembly的GetManifestResourceStream方法获取资源的Str ...
- VB6.0中创建和使用文本资源文件
不少网友问及如何在VB中建立和使用文本资源文件.我想这也是很多VB初学者迫切想掌握的技巧.为此,将回答网友的信件整理了一下,形成此文,希望对大家有些帮助. 一.文本资源文件的建立 第一步:启动资源编辑 ...
- android 中color目录,android中colors.xml颜色设置资源文件的方法
1. 打开res目录下的values文件夹,双击打开colors.xml文件进行编辑 上代码 #008577 #00574B #D81B60 #ff0000 #0000ff 2. 在res目录下的la ...
- 解决 IDEA 中src下xml等资源文件无法读取的问题
该问题的实质是,idea对classpath的规定. 在eclipse中,把资源文件放在src文件夹下,是可以找到的: 但是在idea中,直接把资源文件放在src文件夹下,如果不进行设置,是不能被找到 ...
- android中拷贝assets下的资源文件到SD卡中(可以超过1M)
很多手机游戏,在安装APK之后都得需要下载相应的资源包,然后才能进入游戏. 有这样一个需求:就是游戏中需要的资源包打在APK内,随apk一起进行安装到手机中. 这样就不需要,在安装APK之后,去下载资 ...
- 关于 Kubernetes 中通过 Kustomize 定制 Yaml资源文件的一些笔记
写在前面 分享一些 Kustomize 的笔记 博文内容涉及: Kustomize 的简单介绍 Kustomize 安装 Kustomize 生成资源yaml 文件 Demo 理解不足小伙伴帮忙指正 ...
- 关于Kubernetes 中通过 Kustomize 实现YAML资源文件组合与继承的一些笔记
写在前面 分享一些通过Kustomize 实现YAML资源文件组合与继承的笔记 官方文档里叫做组织和定制,这里这么叫方便理解 博文内容基本为官网文档内容 理解不足小伙伴帮忙指正 傍晚时分,你坐在屋檐下 ...
- android gradle resvalue,在插件中Gradle使用resValue在资源文件中添加信息,导致realease版本编译失败...
问题详细描述 Detailed description of the problem 由于在插件中无法读取自身的meta-data,因此在资源文件中做一些分渠道分发的内容填充.但是使用resValue ...
最新文章
- 用工具进行CAD转换图片的过程
- 武汉网络推广介绍如何通过简化标题来提升主关键词排名?
- android出现adpt2的问题,android - 尝试在空对象引用上调用接口方法'int android.database.Cursor.getCount()'[重复] - 堆栈内存溢出...
- jquery实现截取pc图片_jquery实现图片裁剪思路及实现
- linux内核挂载nfs,Linux 挂载NFS文件系统
- linux 搭建github,github在linux上的环境搭建-Go语言中文社区
- 苹果公布WWDC20大会安排、Snapchat上线小程序功能、QUIC和HTTP/3 将定稿|Decode the Week...
- 54. C# -- 泛型(Generic)
- Gitlab代码库自动同步到Github
- Unity3D第三人称Camera视角旋转实现
- 世界名牌大学课件下载地址
- 传奇服务器如何修改地图和刷怪,传奇如何将怪物刷在指定地图?
- 美国 android手机号码,格式编辑文本为美国电话号码1(xxx)-xxxx你在android中键入?...
- 阿里云服务器搭建Django环境二:django+mysql环境搭建
- 董事长、总裁与CEO
- VSPD虚拟串口软件的一些使用说明
- nginx同一个地址端口代理多个页面
- Selenium在Firefox浏览器中UI自动化测试环境搭建
- 【Lombok】@Builder | 提供 Builder 形式轻松实现对象创建
- ipad iphone开发_如何修复iPhone或iPad上崩溃的应用程序
热门文章
- Android.Hook框架Cydia篇(脱壳机制作)
- 办公自动化系统(OA)
- L2-024. 部落
- 厦门大学计算机博士好考吗,2019年圆梦厦大博士:过年才开始复习,我是这样考上的...
- 能ping通百度,但是上不了网的解决方法〔转载〕
- 录屏软件:Camtasia Studio 8汉化教程
- 79422-73-4|2-氨基-2-(3-溴苯基)乙酸|3-Bromo-DL-phenylglycine
- 【HAL库】STM32+ESP8266+Onenet+MQTT,极简工程,hal库移植。
- python分析并爬取今日头条的视频链接
- 【中医推荐】33部中医书籍,中医医书精品(在线免费阅读),值得珍藏的国粹,涵盖中药、针灸、推拿、按摩、拔罐、气功,食疗等诸多领域