zoukankan      html  css  js  c++  java
  • C# AE axGlobeControl The 3D Analyst extension has not been enabled.

     转载自:https://blog.csdn.net/gwbob/article/details/46873079

     说明:请按照顺序检查有无问题

    再次遇到这个问题,之前有解决,当时并没有记下来,导致本次处理的时候有点模糊不清。在此做个总结,以此铭记!

           这个问题主要原因是权限的问题,因为在AE开发过程中,要取得相应的权限。ArcGIS Engine10版本开始产品架构发生了变化,将ArcGIS Desktop和Engine runtime安装在不同的目录下,所以要求Engine应用程序以及自定义组件等绑定到Desktop或者Engine。

    解决方案有:

    1、添加绑定代码

    ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);  
    ESRI.ArcGIS.RuntimeManager.BindLicense(ESRI.ArcGIS.ProductCode.Engine);  

    2、添加LicenseControl控件,右击属性,选择相应的产品,重启后生效。

    3、网上盛传的解决办法

    /// 先在窗体上添加LicenceControl控件          
    public void Enable3DAnalysis()  
    {  
        ESRI.ArcGIS.esriSystem.IExtensionManagerAdmin iExtensionManagerAdmin = new ESRI.ArcGIS.esriSystem.ExtensionManagerClass();  
        UID iUid3D = new UIDClass();  
        iUid3D.Value = "{94305472-592E-11D4-80EE-00C04FA0ADF8}";  
        object o = new object();  
        iExtensionManagerAdmin.AddExtension(iUid3D, ref o);  
        IExtensionConfig iExtensionConfig = (IExtensionConfig)(iExtensionManagerAdmin as IExtensionManager).FindExtension(iUid3D);  
        iExtensionConfig.State = esriExtensionState.esriESEnabled;  
    }  

         补充:然后在报错页面的初始化后面调用该方法。

    4、WPF遇到该错误的解决方法

    WPF开发中,只能用代码在App.xaml.cs中初始化License。

    public App()  
    {  
    <span style="font-family:Arial, Helvetica, sans-serif;">            ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);</span>  
    <span style="font-family:Arial, Helvetica, sans-serif;"></span>  
    AoInitialize aoi = new AoInitializeClass();  
    esriLicenseExtensionCode extensionCode = esriLicenseExtensionCode.esriLicenseExtensionCode3DAnalyst;  
    esriLicenseProductCode productCode = esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB;  
    if (aoi.IsProductCodeAvailable(productCode) == esriLicenseStatus.esriLicenseAvailable && aoi.IsExtensionCodeAvailable(productCode, e                          xtensionCode) == esriLicenseStatus.esriLicenseAvailable)  
    {  
         aoi.Initialize(productCode);  
         aoi.CheckOutExtension(extensionCode);  
    }  
    }  
     

  • 相关阅读:
    code第一部分数组:第十七题 爬楼梯问题
    code第一部分数组:第十六题 数组表示数,加一操作
    code第一部分数组:第十五题 矩阵翻转(图像翻转)
    code第一部分:数组 第十四题 雨水问题
    code第一部分数组:第十题:移除数组中目标元素
    [java 2020-04-24] Maven多模块项目+SpringBoot,编译失败:程序包xxx不存在
    [java 2020-04-24] springboot生成的jar包没有主类和依赖jar包
    [java 2019-12-16] SimpleDateFormat格式化跨年显示格式错误
    [2019-11-22]马说
    [linux 2019-10-23] linux可以创建多少个用户
  • 原文地址:https://www.cnblogs.com/marvelousone/p/9159758.html
Copyright © 2011-2022 走看看