开始以为这个功能很好实现,于是建好了登录页面,写好了验证机制,利用IApplication接口声明一个Application对象,利用IDocument接口申明并实例化一个Document对象,然后指定Document对象的Parent为Application对象,即实例化Application对象,最后利用Application对象的OpenDocument方法打开MXD文档即可,原以为十分简单,结果一运行发现只能打开一个空白的MXT模板,怎么都不能打开MXD文档,十分的郁闷,网上查了很多的帮助,也没有介绍相关的内容,还以为自己的流程错了。
Code
1 IApplication app;
2 IDocument doc = new MxDocumentClass();
3 app = doc.Parent;
4 app.OpenDocument(@"F:\GIS\eRoad\ChengDu.mxd");
1 IApplication app;
2 IDocument doc = new MxDocumentClass();
3 app = doc.Parent;
4 app.OpenDocument(@"F:\GIS\eRoad\ChengDu.mxd");
后来,我在其他机子上一运行我同样的代码,结果确成功了,分析了一下原因,只可能是版本的问题,由于我的是ArcGIS 9.2 SP2的环境,而他的是ArcGIS 9.2 SP5的环境,估计是一个BUG吧。之后又在原始的ArcGIS 9.2 上运行,也可以。目前仅测试了三个版本,不知道其他版本还有没有同样的问题,如果有兴趣的话,可以把我的代码DOWN下来测试一下,也不知道自己分析的是否有误,请高手斧正!
代码下载链接:Login.tar