• 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作怪,必须全部手动删除,要么只有删除控件,全部重新拖放并布局。

  • 相关阅读:
    where whereis locate find 的用法
    linux小知识
    linux touch和vi建立的文件是什么文件类型的
    linux创建文件的四种方式(其实是两种,强行4种)
    Linux mount实际使用
    linux文件系统和目录树的关系
    hard link && symbolic link
    Ext2文件系统的特点
    android pm命令
    linux安装源文件(.tar.gz)
  • 原文地址:https://www.cnblogs.com/liweis/p/4747533.html
Copyright © 2020-2023  润新知