用代码初始化AE控件许可
当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控件许可的更多相关文章
- Android在代码中设置控件的drawableLeft,drawableRight,drawableTop,drawableBottom。
根据业务的需要,要在代码中设置控件的drawableLeft,drawableRight,drawableTop,drawableBottom属性. 我们知道在xml中设置的方法为:android:d ...
- delphi 动态绑定代码都某个控件
delphi 动态绑定代码都某个控件 http://docwiki.embarcadero.com/CodeExamples/Berlin/en/Rtti.TRttiType_(Delphi)Butt ...
- 继承自TWinControl的控件不能在设计期间接受子控件,用代码设置子控件却可以(它的自绘是直接改写PaintWindow虚函数,而不是覆盖Paint函数——对TWinControl.WMPaint又有新解了)
这个控件直接继承自TWinControl,因此不是改写Paint;函数,而是直接改写PaintWindow虚函数,它在VCL框架里被直接调用,直接就把自己画好了(不用走给控件Perform(WM_Pa ...
- 魔改——MDI多视图模板Tab/标签页 初始化/操作控件
==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...
- Silverlight代码编写对控件的PlaneProjection.RotationY属性控制动画
Canvas c; void btnDraw_Click(object sender, RoutedEventArgs e) { Storyboard story = new Storyboard() ...
- iOS开发之通过代码自定义一个控件
关于控件的继承关系(面试重点): (1)所有的控件都继承自UIView. (2)能监听事件的都是先继承自UIControl,UIControl再继承自UIView.比如UIButton. (3)能整体 ...
- 【WPF】C#代码动态添加控件的Margin属性
需求:一组按钮的数据是从服务器中Json数据发过来的,需要根据这个Json数据动态地添加这组按钮. 工具:使用http://www.newtonsoft.com/json来解析Json. 过程:C#代 ...
- IOS 制作动画代码和 设置控件透明度
方式1: //animateWithDuration用1秒钟的时间,执行代码 [UIView animateWithDuration:1.0 animations:^{ //存放需要执行的动画代码 s ...
- C#代码中设置 控件的触发器
Style style = new Style(); style.TargetType = typeof(TextBox); MultiDataTrigger trigger = new MultiD ...
随机推荐
- kuangbin专题七 POJ3264 Balanced Lineup (线段树最大最小)
For the daily milking, Farmer John's N cows (1 ≤ N ≤ 50,000) always line up in the same order. One d ...
- Python: 安装 sklearn 包出现错误的解决方法
今天在安装 Python 的 sklearn 包时出现了 Cannot uninstall 'numpy' 和 Cannot uninstall 'scipy' 错误,下面记录了我尝试了很多网上的方法 ...
- ie7,ie8 js中变量名和页面元素ID重名,报错
js变量名和一个div的id重名,报错.不知所以然...做个标记
- Canvas制作动态进度加载水球
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 函数之-------------------------HR管理操作
import os import time def emplog(content): #记录操作的一个函数,在删除,添加,修改都会用到这一操作, f=open("emp.log", ...
- 设定计划的SMART原则
SMART: Specific,Measurable, Attainable,Result-based, Time-based 设定计划,如果不去执行,设定目标,而不去实现,那也算是背叛自己的诺言,终 ...
- 简述wcf应用
一.新建wcf 如下图:wcf可以简历俩种形式 1.库文件,就是一个类库文件,可以用windows服务或控制台开启. 2.服务应用程序,可以直接IIS上面发布. 二.库文件自动生成的类 接口类 usi ...
- 通过zookeeper连接hive beeline
beeline -u 'jdbc:hive2://zk01:2181,zk02:2181,zk03:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperName ...
- my07_lock-tables与single-transaction的区别
概念描述 ************************************************************ mysqldump进行逻辑备份时(innodb),为保证事务的一致性 ...
- Robot Framework自动化测试(一)
=============所需要环境========== Python: https://www.python.org/ RF框架是基于python 的,所以一定要有python环境. Robot f ...