MapWindow异常问题解决

1 篇文章 0 订阅

1、COM组件失败

初次编译MapWindow5,总是碰到COM组件失败的问题,如下图所示:
COM组件是吧异常
异常内容为:

System.TypeInitializationException
HResult=0x80131534
Message=“MW5.Api.Static.MapConfig”的类型初始值设定项引发异常。
Source=MW5.Api
StackTrace:
at MW5.Api.Static.MapConfig.set_ZoomToFirstLayer(Boolean value) in ***\MapWindow5-5.3.0\src\MW5.Api\Static\MapConfig.cs:line 86
at MW5.Helpers.MapInitializer.InitMapConfig() in ***\MapWindow5-5.3.0\src\MW5\Helpers\MapInitializer.cs:line 105
at MW5.Program.LoadConfig(IApplicationContainer container) in ***\MapWindow5-5.3.0\src\MW5\Program.cs:line 51
at MW5.Program.Main() in ***\MapWindow5-5.3.0\src\MW5\Program.cs:line 86

内部异常 1:
COMException: 检索 COM 类工厂中 CLSID 为 {80CDFEE0-576F-4141-906E-877638A2AEF3} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))。

后经查询官方网站https://www.mapwindow.org/documentation/mapwindow5/compile.html得知,在调试主程序之前需要注册MapWinGIS.ocxCOM组件。但是,直接运行“MapWinGIS”目录中的“regMapWinGIS.cmd”命令行文件,调试程序总是不成功,后经网上调研查询Windows的COM组件注册方法,突然想到MW5项目为x64架构,而“regMapWinGIS.cmd”命令行默认运行时调用的是32为的COM组件注册程序。因此,解决该问题的关键是需要使用64位的regsvr32命令来进行COM组件的注册:

 1. 首先“以管理员身份运行”CMD命令窗;
 2. 使用cd命令跳转到64位regsvr32.exe文件存储目录“C:\Windows\SysWOW64”;
 3. 执行命令“regsvr32 /s *\MapWinGIS\MapWinGIS.ocx”,注册**MapWinGIS.ocx**COM组件;
 4. 再此运行MW5项目,可看到能够正常启动MapWindow5主界面如下图所示。

MapWindow5主界面


#2、界面编辑器异常问题
在想对MW5的系统界面进行编辑设计时,大多界面都显示下图所示的类似界面:
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值