如果一个地图文件被打开且未关闭(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();

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

相关文章:

  • 2022-12-23
  • 2022-03-12
  • 2021-04-16
  • 2022-02-10
  • 2022-12-23
  • 2022-02-11
  • 2021-11-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-05-25
  • 2021-12-05
  • 2022-12-23
  • 2022-12-23
  • 2022-02-08
  • 2021-07-20
相关资源
相似解决方案