• 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();

                        }

                    }

                }

            }

  • 相关阅读:
    Linux文件和目录管理常用重要命令
    Windows和Linux下Mysql 重置root 密码
    瀑布流vue-waterfall的高度设置
    vue-cli 引入axios及跨域使用
    Vue 脱坑记
    shell基础
    正则
    安装卸载
    压缩打包
    vim工具
  • 原文地址:https://www.cnblogs.com/DayDreamEveryWhere/p/2457807.html
Copyright © 2020-2023  润新知