冲亚
路人甲
路人甲
  • 注册日期2005-06-01
  • 发帖数83
  • QQ
  • 铜币389枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1700回复:0

IEllipticArc.PutCoords使用疑问

楼主#
更多 发布于:2007-09-19 17:49
开发环境:C#2005 + AE9.2<br><br><br>在使用IEllipticArc.PutCoords时总是报错:“这个集合中找不到项目”。AE自带的.NET help fro VS2005中Example程序如下:<br><br><br>// Get the Application Handle and the display<br><br>//Use IEllipticArc.PutCoords to Input the Center, Start and End points to create an EllipticArc.  <br><br><br>IPoint startPoint = new PointClass(); <br><br>startPoint.PutCoords(100, 100);<br><br><br>IPoint centerPoint = new PointClass(); <br><br>centerPoint.PutCoords(250, 100); <br><br><br>IPoint endPoint = new PointClass(); <br><br>endPoint.PutCoords(400, 100);<br><br><br>IEllipticArc ellipticArc = new EllipticArcClass();  <br><br>//Draw a Elliptic arc with Solid line symbol. <br><br>ellipticArc.PutCoords(false, centerPoint, startPoint, endPoint, Math.PI, 1 / 3, esriArcOrientation.esriArcClockwise);<br><br><br>这段程序确实运行无误,但是,当我把startPoint、centerPoint和endPoint的Y坐标分别改成100、200和300后,则仍会报出“这个集合中找不到项目”错误,如图所示:<br>
<DIV>
<DIV class="right smalltxt"> <IMG src="http://bbs.esrichina-bj.cn/ESRI/attachments/forumid_26/20070919_a5ea134bf59559950d65HHPBZ8vDt312.jpg" border=0></DIV></DIV><br><br>难不成Y坐标必须相等?我不相信有此荒谬之事,于是在ArcMap中用VBA进行调试,代码如下:<br><br><br>     Dim pCPt As IPoint, pSPt As IPoint, pEPt As IPoint<br><br>     <br><br>     Set pSPt = eCreatePoint(100, 100)<br><br>     Set pEPt = eCreatePoint(400, 300)<br><br>     Set pCPt = eCreatePoint(250, 200)<br><br>     <br><br>     Dim pEllipticArc As IEllipticArc<br><br>     Set pEllipticArc = New EllipticArc<br><br>     <br><br>     pEllipticArc.PutCoords False, pCPt, pSPt, pEPt, 3.14, 1 / 3, esriArcClockwise<br><br><br>结果运行正确,如图所示:<br>
<DIV>
<DIV class="right smalltxt"> </DIV></DIV><IMG src="http://bbs.esrichina-bj.cn/ESRI/attachments/forumid_26/20070919_c71876986b78eedc3e17JL5MIUN2lcS1.jpg" border=0><br><br><br>那么,请教一下,我在C#中遇到的错误是怎么回事呢?谢谢大家!
[此贴子已经被作者于2007-9-19 17:55:47编辑过]
喜欢0 评分0
游客

返回顶部