QT调用C#开发的ArcEngine的.net组件(1)

QT调用C#开发的.net组件,首先我来讲一下我们项目的背景:最初想开发一套跨平台的gis系统,原来一直使用mapobject20和qt,现在自然而然的要使用arcengine和qt进行,最初的实现没有遇见太大问题,开发到最后系统的效率、稳定性、代码实现难度都出现了问题,很多异常不能处理,导致系统直接崩溃,现在只能寻找一个替代方案,最后采用了使用C#对arcengine的接口进行封装,然后qt采用activex的形式对封装后的com接口进行访问。

简要过程如下:

1. 使用C#封装ArcEngine的相关业务接口,接口参数只能是标准类型(int、double、string等)

2. 调用RegAsm /codebase MyService.dll 

   注意:codebase是指设置注册表中的基本代码,也就是记录下dll的路径,供ccwCom客户端在任何位置都可以找到该dll,如果没有/codebase属性,则ccw默认为dllCom客户端执行程序的当前目录下面

3. 通过 dumpcpp 的方式生成 QT 对 COM 接口的 C++ 包装类

   代码:dumpcpp -o HGisLiarary {00062FFF-0000-0000-C000-000000000046}

   注意:qt的pro中需要设置CONFIG += qaxcontainer

 

未解决问题:

1. 接口内如何实现非标准类型,如何把IMapcontrol的接口作为参数传进去?

2.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值