zoukankan      html  css  js  c++  java
  • IEngineEditor接口的0x80004003错误

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

    错误描述

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

    System.AccessViolationException

    HResult=0x80004003

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

    Source=<无法计算异常源>

    StackTrace:

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

    问题分析

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

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

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

    问题解决

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

  • 相关阅读:
    排序算法
    各种容器
    avl树
    zhenya moves from parents
    maven 相关
    Spring Cloud 子项目介绍
    WebStorm 中 dva 项目用 start 命令需要不断重启项目问题
    git常用命令
    SQL 的各种 join 用法
    程序员成长过程
  • 原文地址:https://www.cnblogs.com/liweis/p/9111758.html
Copyright © 2011-2022 走看看