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

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

 public Form1()
{ InitializeComponent();
ESRI.ArcGIS.esriSystem.IAoInitialize AoIni = new AoInitializeClass();
bool Successful;//返回是否初始化成功
esriLicenseProductCode production = esriLicenseProductCode.esriLicenseProductCodeArcInfo;//这里选择的是ArcInfo
esriLicenseStatus status = AoIni.IsProductCodeAvailable(production);
if (status == esriLicenseStatus.esriLicenseAvailable)
{
status = AoIni.Initialize(production);
if (status == esriLicenseStatus.esriLicenseAlreadyInitialized || status == esriLicenseStatus.esriLicenseCheckedOut)
{
//SpatialAnalyst
esriLicenseExtensionCode extension1 = esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst;
esriLicenseStatus status1 = AoIni.IsExtensionCodeAvailable(production, extension1);
if (status1 == esriLicenseStatus.esriLicenseAvailable)
{
status1 = AoIni.CheckOutExtension(extension1);
} //DataInteroperability
esriLicenseExtensionCode extension2 = esriLicenseExtensionCode.esriLicenseExtensionCodeDataInteroperability;
esriLicenseStatus status2 = AoIni.IsExtensionCodeAvailable(production, extension2);
if (status2 == esriLicenseStatus.esriLicenseAvailable)
{
status2 = AoIni.CheckOutExtension(extension2);
} //if (status1 == esriLicenseStatus.esriLicenseCheckedOut && status2 == esriLicenseStatus.esriLicenseCheckedOut)
if (status2 == esriLicenseStatus.esriLicenseCheckedOut)
{
Successful = true;
}
}
}
}

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

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

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

用代码初始化AE控件许可的更多相关文章

  1. Android在代码中设置控件的drawableLeft,drawableRight,drawableTop,drawableBottom。

    根据业务的需要,要在代码中设置控件的drawableLeft,drawableRight,drawableTop,drawableBottom属性. 我们知道在xml中设置的方法为:android:d ...

  2. delphi 动态绑定代码都某个控件

    delphi 动态绑定代码都某个控件 http://docwiki.embarcadero.com/CodeExamples/Berlin/en/Rtti.TRttiType_(Delphi)Butt ...

  3. 继承自TWinControl的控件不能在设计期间接受子控件,用代码设置子控件却可以(它的自绘是直接改写PaintWindow虚函数,而不是覆盖Paint函数——对TWinControl.WMPaint又有新解了)

    这个控件直接继承自TWinControl,因此不是改写Paint;函数,而是直接改写PaintWindow虚函数,它在VCL框架里被直接调用,直接就把自己画好了(不用走给控件Perform(WM_Pa ...

  4. 魔改——MDI多视图模板Tab/标签页 初始化/操作控件

    ==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...

  5. Silverlight代码编写对控件的PlaneProjection.RotationY属性控制动画

    Canvas c; void btnDraw_Click(object sender, RoutedEventArgs e) { Storyboard story = new Storyboard() ...

  6. iOS开发之通过代码自定义一个控件

    关于控件的继承关系(面试重点): (1)所有的控件都继承自UIView. (2)能监听事件的都是先继承自UIControl,UIControl再继承自UIView.比如UIButton. (3)能整体 ...

  7. 【WPF】C#代码动态添加控件的Margin属性

    需求:一组按钮的数据是从服务器中Json数据发过来的,需要根据这个Json数据动态地添加这组按钮. 工具:使用http://www.newtonsoft.com/json来解析Json. 过程:C#代 ...

  8. IOS 制作动画代码和 设置控件透明度

    方式1: //animateWithDuration用1秒钟的时间,执行代码 [UIView animateWithDuration:1.0 animations:^{ //存放需要执行的动画代码 s ...

  9. C#代码中设置 控件的触发器

    Style style = new Style(); style.TargetType = typeof(TextBox); MultiDataTrigger trigger = new MultiD ...

随机推荐

  1. Oracle数据稠化

                姓名                      学科                分数             城市                张三           ...

  2. HTTP,HTTPS端口号

    博主暂做个笔记,查询资料再纠正~~~~小白不要不假思索的抄走~~~ 一般情况下,HTTP默认工作端口是8000,HTTPS默认工作端口是443

  3. USACO 1.1.2 Greedy Gift Givers(gift1)

    这道题大意就是几个人互送礼物,让你求每个人的盈利. 原题给的样例数据: 5(人的个数.) =========(下面是人名,输出按照这顺序)davelauraowenvickamr ========== ...

  4. oracle ,mysql,postgres jdbc配置文件

    #db mysql #jdbc.driver=com.mysql.jdbc.Driver #jdbc.url=jdbc:mysql://localhost:3306/mysql?&useUni ...

  5. kuangbin专题十二 HDU1260 Tickets (dp)

    Tickets Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  6. appium环境配置和一个例子

    最近觉得appium挺火的,看了一些资料,本来想使用npm在线安装,遇见各种问题,先简单说一下: 在cmd窗口中使用命令:npm install -g appium安装,报无python的error, ...

  7. Kibana6.x.x源码开发——执行 yarn start --no-base-path 启动命令后报错

    错误信息如下: Unhandled rejection Error: Request Timeout after 30000ms at /home/kibana_git/kibana6.2.2/nod ...

  8. C#获取单元格值(使用NPOI插件)

    /// <summary> /// 获取单元格的值 /// </summary> /// <param name="item"></par ...

  9. Lambda 快速改造

    对于只有一个参数的接口类,可以使用e->{}  idea会给出快速提示 先写正常的表达式 将虚线处直接删掉, 在原来的方法参数和左大括号之间加上 -> 改造后比原来少了几行, 对于熟手阅读 ...

  10. 3 不用IDE开发groovy

    1       不用IDE开发groovy 1.1  不用IDE开发的方法 可以在IDE中运行Groovy类或者脚本,但是Groovy也提供了其他运行途径.你能运行Groovy代码基于以下: ·    ...