建立缓冲区程序报错

0 投票

使用产品:iobjects 10i
数据类型: 建立缓冲区程序报错
问题详细描述:按照示例代码建立缓冲区时,在执行建立缓冲区步骤时报错。
代码如下: //设置缓冲区
                DatasetVector aa = m_datasource.Datasets["权界限"] as DatasetVector;
                GetConvertPrjCoordSysSHP(aa);
                if (m_datasource.Datasets.Contains("权界限缓冲区"))
                {
                    m_datasource.Datasets.Delete("权界限缓冲区");
                }
                DatasetVectorInfo m_DatasetVectorInfo = new DatasetVectorInfo();
                m_DatasetVectorInfo.Type = DatasetType.Region;
                m_DatasetVectorInfo.Name = "权界限缓冲区";
                DatasetVector m_buffer = m_datasource.Datasets.Create(m_DatasetVectorInfo);
                GetConvertPrjCoordSysSHP(m_buffer);
                BufferAnalystParameter m_BufferAnalystParameter = new BufferAnalystParameter();
                m_BufferAnalystParameter.RadiusUnit = BufferRadiusUnit.Meter;
                m_BufferAnalystParameter.EndType = BufferEndType.Round;
                m_BufferAnalystParameter.LeftDistance = 30.0;   //30米缓冲区
                BufferAnalyst.CreateBuffer(aa, m_buffer, m_BufferAnalystParameter, true, true);(报错行)

报错:

“System.AccessViolationException”类型的未经处理的异常在 SuperMap.Analyst.SpatialAnalyst.dll 中发生 

其他信息: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

12月 11, 2020 分类:  33次浏览 | 用户: cdutshuaige (2 分)

1个回答

0 投票
打个断点跟踪看一下aa,和m_buffer两个数据集是否有空或者什么其他异常
12月 14, 2020 用户: 程逸诗 名扬四海 (3,825 分)
这个错误有时候有,有时候又没有,是一个大功能里的错误,但都是报内存错误
...