主要原因是没有释放AO资源

public class Form1 : System.Windows.Forms.Form
{
    private ESRI.ArcGIS.esriSystem.IAoInitialize m_AoInitialize = new ESRI.ArcGIS.esriSystem.AoInitializeClass();

private void Form1_Load(object sender, System.EventArgs e)
    {
        // 创建新的AoInitialize对象
        if ( m_AoInitialize == null)
        {
            System.Windows.Forms.MessageBox.Show("初始化失败,程序不能运行!");
            this.Close();
        }
        // 判断产品是否有效
        ESRI.ArcGIS.esriSystem.esriLicenseStatus licenseStatus = (esriLicenseStatus)
            m_AoInitialize.IsProductCodeAvailable(
            ESRI.ArcGIS.esriSystem.esriLicenseProductCode.esriLicenseProductCodeEngine);
        if (licenseStatus == ESRI.ArcGIS.esriSystem.esriLicenseStatus.esriLicenseAvailable )
        {
            licenseStatus = (ESRI.ArcGIS.esriSystem.esriLicenseStatus)
                m_AoInitialize.Initialize(ESRI.ArcGIS.esriSystem.esriLicenseProductCode.esriLicenseProductCodeEngine);
            if (licenseStatus != ESRI.ArcGIS.esriSystem.esriLicenseStatus.esriLicenseCheckedOut )
            {
               System.Windows.Forms.MessageBox.Show("初始化失败,应用程序不能运行!");
               this.Close();
            }
        }
        else
        {
            System.Windows.Forms.MessageBox.Show("ArcGIS Engine产品无效,此程序不能运行!");
            this.Close();
        }
    }
   
    private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
    {
        // 释放COM对象并关闭AoInitialize对象
        ESRI.ArcGIS.Utility.COMSupport.AOUninitialize.Shutdown();
        m_AoInitialize.Shutdown();
 }
}

分类: ESRI
本文转自Lei Zhang的博客博客园博客,原文链接:http://www.cnblogs.com/threestone/archive/2010/07/20/1781396.html,如需转载请自行联系原作者

ArcEngine开发 退出系统报错相关推荐

  1. 解决虚拟机安装系统报错解决方法

    解决虚拟机安装系统报错解决方法 虚拟机安装系统报错提示: 错误原因:当你打开虚拟机安装系统时,它需要调用CPU虚拟化功能,因为他要把所有底层硬件虚拟给(VMwere 虚拟机),所以要开启虚拟化功能.虚 ...

  2. 在使用macbook合并Excel表格时,系统报错。(XLRDError)

    Python 学习日志 设备:MacBook Air 开发环境:Jupyter 问题:关于合并Excel表格时报错的问题. Trouble: 在使用macbook合并Excel表格时,系统报错.系统显 ...

  3. 普通用户登陆linux系统报错 -bash: fork: retry: No child processes

    问题现象 今天开发反应登陆系统报错: 于是乎登系统查看,发现登陆root用户不报错,普通用户报错. 从报错内容分析: 是操作系统无法创建更多的进程导致无法连接进系统. 处理思路 解除普通用户打开最大文 ...

  4. SAP QM 执行事务代码QS51维护使用决策的选择集,系统报错 – Transaction no longer valid for catalog ‘3’ -

    SAP QM 执行事务代码QS51维护使用决策的选择集,系统报错 – Transaction no longer valid for catalog '3' - 执行事务代码QS51,试图为工厂NMD ...

  5. SAP QM 执行事务代码QP01,系统报错 -Material type FOOD is not defined for task list type Q-

    SAP QM 执行事务代码QP01,系统报错 -Material type FOOD is not defined for task list type Q- 商品主数据755,物料类型是FOOD,基 ...

  6. SAP MM MIGO移动类型311试图做批次确定,系统报错-Stock Determination or batch determination not possible-

    SAP MM MIGO移动类型311试图做批次确定,系统报错-Stock Determination or batch determination not possible- SAP系统里的批次确定功 ...

  7. SAP PP COR2下达工单系统报错说-系统状态APNG是激活的- 分析第二篇

    SAP PP COR2下达工单系统报错说-系统状态APNG是激活的- 分析第二篇 笔者所在的项目上启用了ECM(Engineer Change Management)功能,重要数据的修改都要事先创建一 ...

  8. SAP 对HU做转库操作,系统报错 - 系统状态HUAS是活动的 - 分析

    SAP 对HU做转库操作,系统报错 - 系统状态HUAS是活动的 - 分析 近日收到业务团队报的问题,说是对某个HU做转库时候,系统报错.如下图示: HU里有是三个序列号, 1191111034011 ...

  9. SAP QA32试图做UD,系统报错-工厂 BTYC中的 QM 基选设置需要维护

    SAP QA32 试图做UD,系统报错 - 工厂 BTYC 中的 QM 基选设置需要维护 - 检验批 10000062593,试图做使用决策,系统报错, 工厂 BTYC 中的 QM 基选设置需要维护 ...

最新文章

  1. 马斯克矩阵模拟错了?这个试验证明人类不是「缸中之脑」
  2. Teams Tab的Single Sign-On
  3. HH SaaS电商系统的拼团系统设计
  4. MITx - 6.00.1x 笔记(4) Good Programming Practices
  5. forth day ---内置函数、匿名函数
  6. 码农跳槽指南:如何在新公司建立自己的“支配地位”?
  7. 敏捷项目管理之计划扑克游戏
  8. 融云 SDK 如何实现群组操作
  9. 简单方法去除WPS广告
  10. 记Thinkpad的一次扩容升级经历
  11. 微型计算机主机的主要部件,微型机主机的主要部件
  12. Linpack安装、配置与运行
  13. 先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。
  14. js实现类似栈和队列的行为,以及push和unshift两个方法的性能测试
  15. 大型养猪场智能监控系统开发
  16. configure: error: GD build test failed. Please check the config.log
  17. 双系统 修改grub启动菜单字体大小
  18. python棋盘格标定程序
  19. 把C盘正好分成100G的数值
  20. 公司要收我的毕业证书,这合法吗?——网上答疑(17)

热门文章

  1. 多态的概念,特点与使用
  2. 程序员能为爱情做的,就是用他的技术告诉世界:我爱你
  3. windows 显示苹果分区_基准测试数据显示苹果M1运行Windows的表现比微软自家硬件好上近一倍...
  4. 在线判题系统(oj)效果分析图_在线代码编写平台开发分享
  5. oracle 布尔转换java布尔_java 布尔值一种赋值方法
  6. java exif 语言编码_Java读取图片EXIF信息的代码
  7. mysql查看服务器版本sql_警告:您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解使用n的正确语法...
  8. javascript中数据类型及转换、String()和toString()的区别
  9. 我是一个线程 [转]
  10. (4)编写一个程序,输出三角形字符阵列图形