首页 / 浏览问题 / 组件GIS / 问题详情
没有本地许可时,使用云许可,创建组件”MapControl”失败
28EXP 2023年12月21日

环境:iobjects .net 11i +VS2022+win10

参考问题:拖拽组件时报没有许可 - SuperMap技术问答社区no license instance created supermap iObjects.net_mob64ca12f5c08e的技术博客_51CTO博客

问题详情:没有许可时报错,使用云许可问题依旧。

错误信息:创建组件”MapControl”失败,错误消息为
System.ComponentModel.LicenseException. no license instance
created!
在 SuperMap.Data.License..ctor0
在 SuperMap.Data.Toolkit.CheckChartLicensestate0
在 SuperMap.Mapping.Map.nitializeMap(Workspace workspace.
MapControl mapControl)
在 SuperMap.Mapping.Map..ctor(MapControl mapControl)
在 SuperMap.UlMapControl.lnitializeMapControl0
在 SuperMap.Ul.MapControl..ctor0

1个回答

您好,

请问是拖拽控件到窗口时会产生如上报错吗?使用代码创建控件能正常创建吗?拖拽其他控件时会有报错情况发生吗?

VS2022具体版本号是多少呢?
435EXP 2023年12月21日

VS: Microsoft Visual Studio Community 2022 (64 位) - Current 版本 17.6.0;

其他拖拽报错的控件:Map、Workspace;

代码不会报错,已有的项目通过云许可  可以运行。报错是在窗体设计器的加载时,之前设计的GSmain窗体中包含MapControl控件,打开时报错如下:

您好,

拖拽SuperMap控件的时候要验证许可, MapControl和SceneControl这两个控件绑定了Workspace,内部会初始化,new Workspace时就会验证许可;

根据您的描述,建议:(1)使用离线文件型试用许可,进行拖拽控件操作,离线文件型试用许可于SuperMap Online(https://www.supermapol.com/)申请,一个机器只能申请一次,试用时长为1个月,后续需要离线文件型试用许可可以联系对接的销售进行申请;

(2)使用在线(云)试用许可,不拖拽控件,通过代码创建控件,例如:

String mail = "";  // 需要替换为自己的SuperMap Online登录账号
String password = "";// 需要替换为自己的SuperMap Online登录密码
bool login = SuperMap.Data.CloudLicense.Login(mail, password);

InitializeComponent();
workspace = new Workspace();

mapControl = new MapControl();
mapControl.Dock = DockStyle.Fill;
//将指定的mapControl控件添加到panel1控件集合中
panel1.Controls.Add(mapControl);

希望能够帮助到您!

...