爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: MeteoInfo

MeteoInfo二次开发教程(五)

[复制链接]

新浪微博达人勋

发表于 2012-11-18 20:31:29 | 显示全部楼层
交作业,到下一讲去
截图20121118203006.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-5-2 15:44:47 | 显示全部楼层
王老师您好:
在按照前面的教程做到第五讲的时候,这段绘制等值线的代码中,GridData类为什么没有using的引用对象?
GridData press = aDataInfo.GetGridData("PS");
我已经添加了我已知的相关namespace引用了,如下:
using MeteoInfoC.Layout;
using MeteoInfoC.Layer;
using MeteoInfoC.Map;
using MeteoInfoC.Shape;
using MeteoInfoC.Data.MapData;
using MeteoInfoC.Legend;///
using MeteoInfoC.Data.MeteoData;
using wContour;

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-5-2 15:51:50 | 显示全部楼层
额,尝试着添加了个using MeteoInfoC.Data; 好了,感谢王老师哈!:)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-5-2 16:03:42 | 显示全部楼层

using MeteoInfoC.Data

类似这样的问题可以查阅类库的帮助文档,或者在VS里对象浏览
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-5-2 16:12:57 | 显示全部楼层
本帖最后由 alexmitsui 于 2013-5-2 16:15 编辑
MeteoInfo 发表于 2013-5-2 16:03
using MeteoInfoC.Data

类似这样的问题可以查阅类库的帮助文档,或者在VS里对象浏览

嗯,当时应该查阅类库的帮助文档的,没有养成这个习惯;

王老师,不好意思,还有一个问题:
LegendScheme aLS = LegendManage.CreateLegendSchemeFromGridData(press,
                        LegendType.UniqueValue, ShapeTypes.Polyline, ref hasUndefData);
这句代码,运行到这里,应该是设置图例,
可我这边一直报错,如下:
System.TypeInitializationException: “MeteoInfoC.Drawing.ContourDraw”的类型初始值设定项引发异常。 ---> System.TypeLoadException: 因值类型不匹配而未能从程序集“MeteoInfoC, Version=1.0.6.0, Culture=neutral, PublicKeyToken=null”加载类型“wContour.PointD”。
   在 MeteoInfoC.Drawing.ContourDraw..cctor()
   --- 内部异常堆栈跟踪的结尾 ---
   在 MeteoInfoC.Drawing.ContourDraw.GetMaxMinValue(Double[,] S, Double noData, Double& min, Double& max)
   在 MeteoInfoC.Legend.LegendManage.CreateLegendSchemeFromGridData(GridData aGridData, LegendType aLT, ShapeTypes aST, Boolean& hasNoData)
   在 MeteoInfoTest.Form1.contourToolStripMenuItem_Click(Object sender, EventArgs e) 位置 F:\...  行号 286
   
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-5-2 16:32:23 | 显示全部楼层
alexmitsui 发表于 2013-5-2 16:12
嗯,当时应该查阅类库的帮助文档的,没有养成这个习惯;

王老师,不好意思,还有一个问题:

仅凭这些信息很难知道问题所在,你用的还是比较老的MeteoInfo类库版本
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-5-2 16:34:32 | 显示全部楼层
本帖最后由 alexmitsui 于 2013-5-2 21:44 编辑

额,那我去下个新的看看哈:)

我刚尝试了一下,发现还是不行。。。一直显示“MeteoInfoC.Drawing.ContourDraw”的类型初始值设定项引发异常。

刚刚把用重新加载的dll和控件重新把前面的5讲做了一遍发现问题不存在了,问题确实出在版本问题,我vs环境以前有用过1.0.6的dll(当时做完第一讲就没有再做了),这次重新学习的时候,加载了1.0.8的dll,但是控件版本貌似没有更新;

就目前这5讲所涉及的dll版本改动主要还是王老师在第七讲答疑帖子里所说的:
“新的类库将LegendScheme的breakList属性改为了LegendBreaks,应该这样用:
   ((PolygonBreak)aLS.LegendBreaks[0]).DrawFill = false;”
网址:http://bbs.06climate.com/forum.php?mod=viewthread&tid=7810&extra=&page=2

感谢王老师的解答 :)



密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-5-15 13:52:20 | 显示全部楼层
不多说了,做作业去。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-5-16 16:39:34 | 显示全部楼层
DrawMeteoData.CreateContourLayer为什么有四个参数
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-5-16 16:41:41 | 显示全部楼层
C-Brilliance 发表于 2013-5-16 16:39
DrawMeteoData.CreateContourLayer为什么有四个参数

加了一个参数,是字段名
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表