首页
会员中心
到顶部
到尾部
VC毕业设计

基于MapInfo的城市GIS系统

时间:2020/10/27 9:05:48  作者:  来源:  查看:0  评论:0
内容摘要:程序整体的实现思路    系统采用VC作为容器集成开发基于MapInfo的应用,采用OLE Automation的开发方式,即用VC开发前台Client程序作为自动化控制器,MapInfo后台运行作为Server,以自动化对象的身...
程序整体的实现思路
    系统采用VC作为容器集成开发基于MapInfo的应用,采用OLE Automation的开发方式,即用VC开发前台Client程序作为自动化控制器,MapInfo后台运行作为Server,以自动化对象的身份为客户程序提供GIS功能服务。在集成开发方式中,客户程序和MapInfo是通过OLE的方式来进行通信。

自动化对象
    自动化对象就是作为OLE服务器的代码部件,客户应用程序通过创建一个对象来使用代码部件,同时调用对象的属性、事件和方法。MapInfo作为一个巨大的代码部件为VC客户程序提供服务,而VC客户程序中使用CreateObject()函数创建自动化对象,实现无缝集成。

自动化控制器
    自动化控制器,实际上就是自动化对象的客户。虽然自动化控制器与对象之间的关系是一般客户与COM对象的关系,然而作为自动化对象客户程序,它只需按照COM对象的用法来调用自动化对象,如通过COM API函数CoCreateInstance可以创建自动化对象,通过GetTypeInfo成员函数可以获取类型信息,通过Invike成员函数可以访问对象的属性和方法。自动化控制器一方面提供了一套语法结构来支持自动化对象的创建、析构和调用对象的方法或属性,另一方面,它利用对象的类型信息提供了对象浏览器功能,允许用户通过UI创建自动化对象。

MapInfo地图功能的集成
    MapInfo没有向用户提供OCX、TLB、DLL的支持,而这些是无缝集成的基础,但MapInfo支持OLE自动化,所以可以通过客户创建MapInfo自动化对象来向MapInfo发送控制命令。可以将VC客户程序的窗口对象设置为MapInfo窗口的父窗口,让MapInfo所有的消息和信息都反映到VC客户程序,同时,也可以利用第三方组件作为显示MapInfo地图功能的容器,实现组件式GIS效果。


相关评论
广告联系QQ:45157718 点击这里给我发消息 电话:13516821613 杭州余杭东港路118号雷恩国际科技创新园  网站技术支持:黄菊华互联网工作室 浙ICP备06056032号