ArcGIS Engine应用程序开发时怎样自动实现许可初始化代码 - ReadArcGIS Engine应用程序开发时怎样自动实现许可初始化代码 - Read
ArcGIS Engine应用程序开发时怎样自动实现许可初始化代码
ArcGIS Engine Developer
Kit,ArcGIS Engine 000436N/A编号: 相关产品及版本: 平台:
Runtime 9.0
2005-05-12 2005-05-12提交时间: 修改时间: 提交人: 赵万锋 内容摘要
任何用AO开发的独立应用程序必须初始化许可,以保证程序的正常运行。初始化许可代码必须在程序运行时首先运行...
ArcGIS Engine应用程序开发时怎样自动实现许可初始化代码 - Read
ArcGIS Engine应用程序开发时怎样自动实现许可初始化代码
ArcGIS Engine Developer
Kit,ArcGIS Engine 000436N/A编号: 相关产品及版本: 平台:
Runtime 9.0
2005-05-12 2005-05-12提交时间: 修改时间: 提交人: 赵万锋 内容摘要
任何用AO开发的独立应用程序必须初始化许可,以保证程序的正常运行。初始化许可代码必须在程序运行时首先运行。ESRI License Initialization AddIn 能够自动产生初始化代码并加载到工程文件中。下面以VB为例说明如何操作。
过程描述
1.确认安装了Add-Ins。如果没有安装,参考Add-Ins说明安装。
2.在vb的Add,Ins菜单下的ESRI License Initialize 对话框中选择相应的许可。点击Ok。 3.现在初始化代码已被加载到工程中。
工程中多了一个LicenseInitializer的类:
Option Explicit
'FILE AUTOMATICALLY GENERATED BY ESRI LICENSE INITIALIZATION ADDIN 'YOU SHOULD NOT NORMALLY EDIT OR REMOVE THIS FILE FROM THE PROJECT
Private m_pAoInitialize As IAoInitialize
Public Function InitializeApplication() As Boolean
Dim bInitialized As Boolean
bInitialized = True
Set m_pAoInitialize = New AoInitialize
If m_pAoInitialize Is Nothing Then
MsgBox "Unable to initialize ArcGIS. This application cannot run! Please check that ArcGIS
(Desktop, Engine or Server) is installed."
bInitialized = False
End If
'Initialize the application
Dim licenseStatus As esriLicenseStatus
licenseStatus = esriLicenseUnavailable
licenseStatus = CheckOutLicenses(esriLicenseProductCodeEngine)
If licenseStatus <> esriLicenseCheckedOut Then
MsgBox LicenseMessage(licenseStatus)
bInitialized = False
End If
InitializeApplication = bInitialized
End Function
Public Sub ShutdownApplication()
If m_pAoInitialize Is Nothing Then Exit Sub
'Checkin the extensions
m_pAoInitialize.CheckInExtension esriLicenseExtensionCode3DAnalyst m_pAoInitialize.CheckInExtension esriLicenseExtensionCodeSpatialAnalyst
'Shut down the AoInitilaize object
m_pAoInitialize.Shutdown
Set m_pAoInitialize = Nothing
End Sub
Private Function CheckOutLicenses(productCode As esriLicenseProductCode) As
esriLicenseStatus
Dim licenseStatus As esriLicenseStatus
'Determine if the product is available
licenseStatus = m_pAoInitialize.IsProductCodeAvailable(productCode) If (licenseStatus = esriLicenseAvailable) Then
'Determine if the extensions are available
licenseStatus = m_pAoInitialize.IsExtensionCodeAvailable(productCode,
esriLicenseExtensionCode3DAnalyst)
If licenseStatus = esriLicenseAvailable Then
licenseStatus = m_pAoInitialize.IsExtensionCodeAvailable(productCode,
esriLicenseExtensionCodeSpatialAnalyst)
If licenseStatus = esriLicenseAvailable Then
'Initialize the license
licenseStatus = m_pAoInitialize.Initialize(productCode)
'Checkout the extensions
If (licenseStatus = esriLicenseCheckedOut) Then
licenseStatus = m_pAoInitialize.CheckOutExtension(esriLicenseExtensionCode3DAnalyst) If (licenseStatus = esriLicenseCheckedOut) Then
licenseStatus = m_pAoInitialize.CheckOutExtension(esriLicenseExtensionCodeSpatialAnalyst)
End If
End If
End If
End If
End If
CheckOutLicenses = licenseStatus
End Function
Private Function LicenseMessage(licenseStatus As esriLicenseStatus) As String
'Not licensed
If (licenseStatus = esriLicenseNotLicensed) Then LicenseMessage = "You are not licensed to run this product!" 'The licenses needed are currently in use
ElseIf (licenseStatus = esriLicenseUnavailable) Then LicenseMessage = "There are insuffient licenses to run!" 'The licenses unexpected license failure
ElseIf (licenseStatus = esriLicenseFailure) Then LicenseMessage = "Unexpected license failure! Please contact your administrator."
'Already initialized (Initialization can only occur once) ElseIf (licenseStatus = esriLicenseAlreadyInitialized) Then LicenseMessage = "The license has already been initialized! Please check your implementation."
End If
End Function
在Form类中增加了以下代码:
Private Sub Form_Load()
'Initialize the application with a license
'and exit if the initialization failed
If InitializeApplication = False Then Unload Me
End Sub
Private Sub Form_Unload(Cancel As Integer)
'Shut down the AoInitialize object
ShutdownApplication
End Sub
本文档为【ArcGIS Engine应用程序开发时怎样自动实现许可初始化代码 - Read】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。