PS:(赞 PersonalGeodatabase)
很少写纯文字博客的我,今天实在气愤至极,原因不为别的,只因为自己的疏忽,造成巨大的损失!
这几天一直在再做一个与“空间分析”有关的程序,因为要开组会了,所以这两天得抓紧时间来写,昨天晚些时候基本大功告成了,这个时候发现自己的 Visual Studio 2008 到期了,在网上找了很多解决方法,但是都不符合我的,因为我的版本没有输入注册码的地方,搞了半天也弄好,然后就是星期二最后一天,但是也没办法啊!
这也就算了,突然我写的程序也出现问题了,怎么点击 Editing 后,不能绘制图形了,只可以看到鼠标在移动,但是却没有图形显示,这个时候已经很晚了,但是还是想把程序搞好,但是一直没找到原因,最后不得不走了!
今天早晨过来,心想既然笔记本中的 Visual Studio 2008 到期了,那就将程序移植到台式机电脑的 Visual Studio 2010 + ArcGIS Engine 10.0 上面吧!直接移植,要添加些代码,同时添加N多引用,结果还是不行,因为数据没拷过来,于是拷数据!直接考 *.mxd 的文件可能会出错,于是就考了 *.shp 的文件,然后自己保存成 mxd,但当我打开 shp 的时候,发现数据只显示了一部分,并没有完全显示,我想应该是数据显示范围定义的原因,毕竟这些数据都是我假想出来的,基本没有定义空间参考,所以,哎,重新造数据吧,从而也解释了“为什么昨天晚上我在绘制图形的时候没有显示,因为那个区域不能绘制图形的!”。
重新造数据就用中国地图吧,地图是中国地图,这个数据还不错吧,经过一番折腾,终于在 Visual Studio 2010 上面运行成功,这是心情渐渐平复了,心想反正台式机搞定了,那就将笔记本的 Visual Studio 2008 卸载掉,然后重新装上试试,于是就卸载了,这个时候还是有点不放心,就在网上搜“卸载后,重装可否用”,这个时候搜到了一个帖子叫做“Visual Studio 2008 破解文件”,呃,可是我已经在卸载了,叫我如何是好呢,因为强行切断也于事无补了,只好等着卸载了,........,还好,重装时,直接装完就能用了!
这下好了,都好了,我打开笔记本中 Visual Studio 2008 运行昨天的程序,还是没法绘制,哦,数据不行,于是将台式机中的新数据拷贝了过来,重新保存个 mxd,搞啊搞啊,靠,怎么还是不行,又出现了新的问题,每次弹出操作框后,我一点击按钮,操作框就自己消失掉了,到底怎么回事啊,心想貌似是代码的问题!于是自己重新建立窗体,重新拷贝代码,做的异常认真,见证奇迹的时刻到了,啊。。。fuck,还是一样的,你妈,我要崩溃了,淡定,我真的很急躁了,这时~搞搞搞!
想到了调试,不停地设置断点,搞了半天,终于知道问题出在哪里,主要就是那个“区域重叠判断”的地方出现了问题,但是具体为什么出现问题高了很久太弄明白,就是“HRESULT:0x80040215”这个错误,在网上查了下有个比较经典的回答:,好吧,现在知道又是数据的问题了,我简直就要疯了,好吧,淡定!
于是开始搞数据,因为数据不是重点,所以就随便搞了搞,但是就搞不好,最后我终于醒悟了,我要用 PersonalGeodatabase,好吧,这个真是个好东西,因为这里面的东西都是基于相同的空间参考的,因此就不会出现上面的问题了,好吧,这个经验教训就是:PersonalGeodatabase还是很有用的,虽然建立的时候要多点击几下电脑,但是也会让我们少操很多心的!