zoukankan      html  css  js  c++  java
  • ArcEngine中License权限等级更改的问题

    曾经认为自己对于ArcGIS 开发许可问题比较理解了,并小结在《ArcEngine10.x开发的许可问题》中。

    01.权限问题

    今天在调用GP时失败(插值式开发,使用的是他人框架),因为需要Advanced级别权限。有两点可以证明是权限不足:一是我在新建项目中测试成功,说明代码参数没问题;二是在问题框架调用clip(只需Basic级别)成功。更改变我的人生观念的是:同事们都说,既然权限不足,就在调用功能是再次初始化相应权限!在我的印象中,权限一旦初始化,就不可更改,除非结束程序。

    02.还原真相

    为了确认事实真相,我自己写了代码进行测试,在程序中更改权限是无效的。使用IAoInitialize接口进行初始化许可的原则:Initialize方法只能调用一次,多余无效,返回esriLicenseAlreadyInitialized ,LicenseControl勾选多个许可也是无效的。即在程序运行过程中,不能再次更改许可等级

    在ESRI官网上也找到原文:"Once an application has been initialized with a license, it cannot be reinitialized; an application is initialized with a license for the duration of its life. For example, you can't write an application that starts up with an ArcView license and later switches to ArcEditor."

    03.修改权限

    在修改已有框架的权限时,虽然有源代码,但更改LicenseControl或使用AoInitialize无效,打开程序被强制关闭,并报错-42,原来是OcxState作怪,必须全部手动删除,要么只有删除控件,全部重新拖放并布局。

  • 相关阅读:
    Java控制台常用命令
    redis如何查看所有的key
    An internal error has occurred. Java heap space
    redis演练
    各种编程实现的树
    MYSQL两个数据库字符集保持一致问题
    进程控制之fork函数
    进程控制之进程标识符
    进程环境之getrlimit和setrlimit函数
    进程环境之setjmp和longjmp函数
  • 原文地址:https://www.cnblogs.com/liweis/p/4747533.html
Copyright © 2011-2022 走看看