使用产品:iobject10i,操作系统:win10 64位,开发框架WPF,.net4.7.2, 64位
数据类型:文件型工作空间以及文件型数据源,均在exe文件根目录下
问题描述:尝试读取或写入受保护的内存...
问题重现步骤:操作动态图层对象时发生。
private void timer_Tick(object sender, EventArgs e)
{
try
{
GeoStyle geoStyle = new GeoStyle()
{
MarkerSymbolID = 0,
MarkerSize = new Size2D(4, 4),
LineColor = System.Drawing.Color.Red
};
GeoPoint geo = features[m_updateCount].GetGeometry() as GeoPoint;
geo.Style = geoStyle;
dynamicLayer1.Clear();
dynamicLayer1.Add(geo, "mn");
//if (m_updateCount == 1)
//{
// int i = dynamicLayer1.Add(geo, "mn");
//}
//else
//{
// bool s = dynamicLayer1.Set("mn", geo);
//}
m_updateCount++;
}
catch(Exception ex)
{
LogTextHelper.Info(ex);
}
}
features是DatasetVector对象的GetAllFeatures方法获取到的Dictionary<int, Feature>字典,其内均为矢量点数据。
timer_Tick是3秒钟一次的计时器,内部主要是去更新动态图层的对象,但是每次基本timer_Tick执行个几次就直接卡死无法操作,这里面逻辑很简单,不知道为什么会卡死。