AE異常之——代碼不訪問

來源:互聯網
上載者:User

最近學習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();

                    }

                }

            }

        }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.