保存地图发生锁定冲突

如果一个地图文件被打开且未关闭(Close方法),然后再次打开它,这没有问题,如果接下来再保存它,就会出现发生锁定冲突了。其实出比较容易理解为什么要被锁,解决方法是:在保存时,使用IObjectCopy操拷贝一个副本。

例如:在保存地图前,窗体控件(axMapControl或axPageLayoutControl)已打开它,则需要这样操作:

1 IObjectCopy objCopy = new ObjectCopyClass(); 
2 axMapControl1.Map = (IMap) objCopy (mapDocument.get_Map(0));
3 //或axPageLayoutControl1.PageLayout = (IPageLayout)objCopy.Copy(mapDocument.PageLayout);
4  objCopy = null;
5 mapDocument.Save();

当然,一般要么用控件管理地图,要么用接口操作地图,两者都用的情况相对较少。

原文地址:https://www.cnblogs.com/liweis/p/8947209.html