天天看点

使用ArcEngine的程序必须检验机器上有没有可用的许可

 许可初始化

为了将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的引用,这段代码才能正确运行;

继续阅读