• AE异常之——代码不访问


    最近学习ArcEngine开发遇到了奇怪的异常,代码不访问。检查了好几次,代码在我这半路出家的人看来没有逻辑错误,但是就是没有画线。逐步运行的时候,发现运行至绿色的代码的地方就跳出了本过程。检查再三,在绿色的代码处加上了try{ }  catch{ } ,终于抛出了异常。异常为“未将对象引用设置到对象的实例”。 检查发现,异常设置的复选框没有选中(如下所示)(不知道为什么不是默认选中的),VS不自动的抛出异常,只是遇到了无法解决的问题自动跳出了过程。抛出异常后,错误就比较容易修改了。将错误处的语句改为 :IPolyline pDrawPolyline = new ESRI.ArcGIS.Geometry.PolylineClass();  

    并将引发异常的复选框全部选中。

    bool DrawPolylineOrNot = false;    //是否画线

            int DrawPolylineClickCount;    //记录画线时候画的是第几个点

            IPolyline pDrawPolyline = null;    //错误

     private void axMapControl1_OnMouseDown(object sender, ESRI.ArcGIS.Controls.IMapControlEvents2_OnMouseDownEvent e)

            {

                if (e.button == 1)

                {

                    IPoint pPoint = new PointClass();

                    pPoint.PutCoords(e.mapX, e.mapY);

                    //绘制剖面用的曲线

                    if (DrawPolylineOrNot)

                    {

                        //第一次点击,设置起始点

                        if (DrawPolylineClickCount == 0)

                        {

                                pDrawPolyline.FromPoint = pPoint;

                            DrawPolylineClickCount++;

                        }

                        else if (DrawPolylineClickCount == 1)

                        {

                            pDrawPolyline.ToPoint = pPoint;

                            DrawPolylineClickCount = 0;

                            DrawPolylineOrNot = false;

                            axMapControl1.DrawShape(pDrawPolyline);

                            axMapControl1.Refresh();

                        }

                    }

                }

            }

  • 相关阅读:
    ----Vue 单页应用的首屏优化----
    ----小程序之rich-text图片宽度自适应----
    ----vue-router 如何在新窗口打开页面----
    ----element-ui实现时间控件开始时间和结束时间关联----
    ----element-ui自定义表单验证----
    ----js中的every和some----
    「Linux学习」之挂载访问samba服务
    「Linux学习」之samba和nfs共享服务搭建
    「Linux学习」之防火墙服务设置
    「linux学习」之批量创建用户脚本
  • 原文地址:https://www.cnblogs.com/DayDreamEveryWhere/p/2457807.html
Copyright © 2020-2023  润新知