IEngineEditor接口的0x80004003错误

在定制ArcEngine数据编辑程序时,经常使用IEngineEditor 接口来完成开始、保存和停止编辑。但我遇到了一个问题,测试纠结了两天终于解决,我十分佩服自己。嘻嘻。

错误描述

使用IEngineEditor开启编辑后, 只要一刷新地图就会报如下错误:

System.AccessViolationException

HResult=0x80004003

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

Source=<无法计算异常源>

StackTrace:

<无法计算异常堆栈跟踪>

问题分析

很显然,0x80004003是指无效指针 ,这个错误try/catch捕捉不到,直接就崩了:

IEngineEditor接口的0x80004003错误

从系统事件中可以看到如下信息,从此并没看到有用的信息。

IEngineEditor接口的0x80004003错误

换个数据测试还是如此问题。

问题解决

将以前测试无误的代码来操作现在的数据,没有问题!经过一番测试,发现问题在于IEngineEditor必须定义为全局变量。在开启编辑后,刷新地图时估计也要访问它!

上一篇:Kubernetes 1.8.x 全手动安装教程----转自Kubernetes中文社区(部分内容根据实验环境做了些修改,特此感谢Kubernetes中文社区)


下一篇:GitHub中文社区