zoukankan      html  css  js  c++  java
  • 用代码初始化AE控件许可

    当AE二次开发与其他平台一起使用的时候,有时候会不方便加LicenseControl控件,需要用代码初始化许可:

    在构造函数中初始化许可:

     1 public Form1()
     2 {
     3 
     4            InitializeComponent();
     5            ESRI.ArcGIS.esriSystem.IAoInitialize AoIni = new AoInitializeClass();
     6            bool Successful;//返回是否初始化成功
     7            esriLicenseProductCode production =  esriLicenseProductCode.esriLicenseProductCodeArcInfo;//这里选择的是ArcInfo
     8            esriLicenseStatus status = AoIni.IsProductCodeAvailable(production);
     9            if (status == esriLicenseStatus.esriLicenseAvailable)
    10           {
    11                  status = AoIni.Initialize(production);
    12                  if (status == esriLicenseStatus.esriLicenseAlreadyInitialized || status == esriLicenseStatus.esriLicenseCheckedOut)
    13                  {
    14                            //SpatialAnalyst
    15                            esriLicenseExtensionCode extension1 = esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst;
    16                            esriLicenseStatus status1 = AoIni.IsExtensionCodeAvailable(production, extension1);
    17                            if (status1 == esriLicenseStatus.esriLicenseAvailable)
    18                            {
    19                                    status1 = AoIni.CheckOutExtension(extension1);
    20                            }
    21 
    22                             //DataInteroperability
    23                             esriLicenseExtensionCode extension2 = esriLicenseExtensionCode.esriLicenseExtensionCodeDataInteroperability;
    24                             esriLicenseStatus status2 = AoIni.IsExtensionCodeAvailable(production, extension2);
    25                             if (status2 == esriLicenseStatus.esriLicenseAvailable)
    26                             {
    27                                    status2 = AoIni.CheckOutExtension(extension2);
    28                             }
    29 
    30                             //if (status1 == esriLicenseStatus.esriLicenseCheckedOut && status2 == esriLicenseStatus.esriLicenseCheckedOut)
    31                             if (status2 == esriLicenseStatus.esriLicenseCheckedOut)
    32                            {
    33                                   Successful = true;
    34                            } 
    35                   }
    36          } 
    37 }

    以上代码相当于添加LicenseControl控件,并设置如下属性:

    后记:用代码初始化许可的话,记得在程序关闭时添加如下代码,否则程序进程在程序关闭后还存在。

    public static void ShutDown()
    {
             ESRI.ArcGIS.ADF.COMSupport.AOUninitialize.Shutdown();
             AoInit.Shutdown();  //AoInit为初始化许可时定义的ESRI.ArcGIS.esriSystem.IAoInitialize AoIni 
    }

  • 相关阅读:
    spring mvc 参数校验
    spring-boot 配置jsp
    java 多线程之取消与关闭
    spring transaction 初识
    java 读取环境变量和系统变量的方法
    每天一命令 git checkout
    每天一命令 git stash
    每天一命令 git reset
    log4j2配置详解
    专业名词及解释记录
  • 原文地址:https://www.cnblogs.com/fatherZyl/p/3277812.html
Copyright © 2011-2022 走看看