许可初始化
为了将ArcEngine的程序部署在另一台机器上,必须首先检查这台机器上有没有可用的许可。如果许可初始化失败,将不能运行该程序。
首先在类中添加变量 private IAoInitialize m_AoInitialize = new AoInitializeClass();
然后在Form_Load事件中添加下面的代码:
//初始化许可
if(m_AoInitialize==null)
{
MessageBox.Show("Unable to initialize.This programme cannot run.");
this.Close();
}
//检验是否具有Engine许可
esriLicenseStatus licensestatus=(esriLicenseStatus)m_AoInitialize.IsProductCodeAvailable(esriLicenseProductCode.esriLicenseProductCodeEngine);
if (licensestatus==esriLicenseStatus.esriLicenseAvailable)
{ licensestatus=(esriLicenseStatus)m_AoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeEngine);
MessageBox.Show("The license is available!");
if (licensestatus!=esriLicenseStatus.esriLicenseCheckedOut)
{
MessageBox.Show("Initialize failed.This programme cannot run.");
}
}
else
{
MessageBox.Show("The ArcGIS Engine is unavailable.This programme cannot run.");
this.Close();
}
在程序里要保证有ESRI.ArcGIS.esriSystem的引用,这段代码才能正确运行;