ArcGIS Engine产品以及相应的产品许可正常安装以后,为什么还要在程序中做许可文件的初始化的工作?具体怎么实现。 解答 ArcGIS Engine developer kit产品以及相应......
ArcGIS Engine产品以及相应的产品许可正常安装以后,为什么还要在程序中做许可文件的初始化的工作?具体怎么实现。 解答 ArcGIS Engine developer kit产品以及相应的产品许可安装以后,只是为你的应用程序实现许可允许的功能提供了可能性,要想真的使得你的应用程序拥有这些功能,你还需要做一个许可文件的初始化工作。 注意:如果不做这个初始化工作,你有可能会在实现某些功能时碰到你没有相应的许可的提示。 这个许可文件的初试化工作需要在你的应用程序的入口处实现。下面是c#的初始化的代码示例
using ESRI.ArcGIS.esriSystem;
namespace LicenseInitializer { public class LicenseInitializer { private IAoInitialize m_AoInitialize = new AoInitializeClass();
public bool InitializeApplication() { bool bInitialized = true;
if (m_AoInitialize == null) { System.Windows.Forms.MessageBox.Show("Unable to initialize. This application cannot run!"; bInitialized = false; }
//初始化应用程序 esriLicenseStatus licenseStatus = esriLicenseStatus.esriLicenseUnavailable;
licenseStatus = CheckOutLicenses(esriLicenseProductCode.esriLicenseProductCodeEngine); if (licenseStatus != esriLicenseStatus.esriLicenseCheckedOut) { licenseStatus = CheckOutLicenses(esriLicenseProductCode.esriLicenseProductCodeArcView); if (licenseStatus != esriLicenseStatus.esriLicenseCheckedOut) { licenseStatus = CheckOutLicenses(esriLicenseProductCode.esriLicenseProductCodeArcEditor); if (licenseStatus != esriLicenseStatus.esriLicenseCheckedOut) { licenseStatus = CheckOutLicenses(esriLicenseProductCode.esriLicenseProductCodeArcInfo); if (licenseStatus != esriLicenseStatus.esriLicenseCheckedOut) { System.Windows.Forms.MessageBox.Show(LicenseMessage(licenseStatus)); bInitialized = false; } } } }
return bInitialized; }
public void ShutdownApplication() { if (m_AoInitialize == null) return;
//关闭 AoInitilaize对象 m_AoInitialize.Shutdown(); m_AoInitialize = null; }
private esriLicenseStatus CheckOutLicenses(esriLicenseProductCode productCode) { esriLicenseStatus licenseStatus;
//是否产品是可能的 licenseStatus = m_AoInitialize.IsProductCodeAvailable(productCode); if (licenseStatus == esriLicenseStatus.esriLicenseAvailable)
1/2 1 2 下一页 尾页 |