以下以VS2008开发环境为例:
----------------------------------------------------------------------
step 1: 将com接口转成.net接口

在.net语言中使用MapWinGIS.ocx之前,需要将com接口转换成.net接口,程序通过.net接口去访问com中具体的实现函数。

方法(1)在.net工程中添加MapWinGIS.ocx时,会自动产生一个名为:Interop.MapWinGIS.dll(或Interop.MapWinGIS.4.7.dll)的文件。这个dll是vs2008为添加的ocx生成的.net接口组件,程序通过该dll来和ocx打交道。

方法(2)也可以使用vs2008自带的工具tlbimp.exe,手动得到这个文件。

a.打开vs2008命令行(开始菜单 -- Microsoft Visual Studio 2008 -- Visual Studio Tools -- Visual Studio 2008 Command Prompt)

b.

cd C:\Dev\MapWindow4Dev\Bin

tlbimp MapWinGIS.ocx /out:Interop.MapWinGIS.dll /asmversion:4.7.4.0

step 2: 将ocx控件包裹成windows forms控件

对于ocx控件,仅仅将com接口转换成.net接口还不够,还需要使用aximp将ocx控件包裹成windows forms control

aximp "MapWinGIS.ocx" /out:AxInterop.MapWinGIS.dll /rcw:Interop.MapWinGIS.dll

使用该命令之前,必须先将ocx注册,而且已生成了Interop.MapWinGIS.dll

step 3: 在工程中引用 Interop.MapWinGIS.dll和AxInterop.MapWinGIS.dll

这样就可以使用MapWinGIS.ocx来开发应用程序了。 当然安装了MapWindow GIS桌面版后,可以直接从安装目录得到(MapWinGIS.ocx,Interop.MapWinGIS.dll和AxInterop.MapWinGIS.dll)

更多com和.net互操作的工具请参考:http://msdn.microsoft.com/zh-cn/library/dd233112.aspx

.net语言中使用MapWinGIS.ocx相关推荐

  1. Go 知识点(19)— Go 语言中的野指针

    野指针是一种指向内存位置是不可知的指针,一般是由于指针变量在声明时没有初始化所导致的.在 Go语言中,布尔类型的零值为 false,数值类型的零值为 0,字符串类型的零值为 "", ...

  2. c语言中字符串数组的地址存放以及%s输出单个字符导致程序崩溃的问题

    代码 总结下c语言中字符串数组的地址存放问题 #include <iostream> using namespace std; #include<bits/stdc++.h>i ...

  3. 单片机c语言中的循环语句,单片机c语言教程:C51循环语句

    循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作.如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 1000 次空语句 才能达到延时的目的( ...

  4. python调用什么函数实现对文件内容的读取_如何使用python语言中的方法对文件进行读写操作...

    在我们使用python语言中的文件时,可以使用open()方法打开文件,close()方法关闭文件,read()方法读取文件内容,write()方法写入内容到文件中.下面利用几个实例说明文件读写方法, ...

  5. 如何用C语言改变宏定义的大小,C语言中宏定义使用的小细节

    C语言中宏定义使用的小细节 #pragma#pragma 预处理指令详解 在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作.#p ...

  6. C语言中的指针和内存泄漏

    对于任何使用 C 语言的人,如果问他们 C 语言的最大烦恼是什么,其中许多人可能会回答说是指针和内存泄漏.这些的确是消耗了开发人员大多数调试时间的事项.指针和内存泄漏对某些开发人员来说似乎令人畏惧,但 ...

  7. C语言中连续调用rand函数,返回值不变

    C语言中连续调用rand函数,返回值不变 最近用C语言随机函数编程发现了一个奇怪的现象: 简易版代码: #include<stdio.h> #include<stdlib.h> ...

  8. (mfc)将字符串中的字符逐个按行输出_C语言中字符串输入输出

    在C语言中没有字符串类型,用字符数组处理字符串 定义 字符数组定义:char 数组名 [常量表达式][常量表达式] 一维字符数组,用于存储和处理一个字符串 . 二维字符数组,用于同时存储和处理多个字符 ...

  9. c语言中的普通字符包括什么,【判断题】C语言中的字符常量通常有两种形式:普通字符和转义字符。...

    [判断题]C语言中的字符常量通常有两种形式:普通字符和转义字符. 更多相关问题 ---Can you speak French?---Yes, but only____.A.a littleB.lit ...

最新文章

  1. “抽象类”的定义及其与“普通类”的区别
  2. 智能制造业乘风破浪,工业机器人怎样勇立潮头?
  3. 快速求区间和的有趣算法——树状数组
  4. Tensorflow学习: 乘法demo
  5. 肝!教你用Python抓取某天下楼盘数据
  6. 解决Dreamweaver 8打开时闪退的问题
  7. Debian 系统安装 Nagios 服务器监控端
  8. 大龄程序员想转产品经理?3本书给你最靠谱的进阶攻略
  9. UVA10505 Montesco vs Capuleto【DFS】
  10. 马云:我不懂技术,但我尊重技术(附演讲全文
  11. 14.docker volumn
  12. mmap库:Python内存映射文件操作
  13. ufw防火墙配置命令
  14. 腾讯web引用skey g_tk bkn和日期显示分析
  15. 华为手机的视频剪辑功能居然这么强大,太实用啦
  16. 3U VPX XC7VX690T计算处理板
  17. Java获取word表格中的数据
  18. 2020年之HBuilderX manifest.json配置最全详解
  19. Windows编程---使用C/C++语言创建一个窗口
  20. TestNG教程四TestNG用例失败重试

热门文章

  1. Oracle_JOB参数详解
  2. cocos2dx游戏开发简单入门视频教程 (cocos2d-x)- 第4天
  3. java线程同步(synchronized,wait,notify,notifyAll)
  4. 20.1 shell脚本介绍 20.2 shell脚本结构和执行 20.3 date命令用法 20.4 shell脚本中的变量...
  5. 剑指offer——35复杂链表的复制
  6. angularjs $state.go页面不刷新数据
  7. WinForm员工信息表
  8. 《Spring2之站立会议5》
  9. 鼠标监听地图让我创造出个性的风格(地图开发)
  10. DevExpress控件学习之GridControl的Row拖拽