- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PowerBuilder和MapInfo的集成开发技术_计算机论文.doc
PowerBuilder和MapInfo的集成开发技术_计算机论文
PowerBuilder和MapInfo的集成开发技术_计算机论文
摘要: 本文介绍了客户/服务器开发工具PowerBuilder和桌面地图信息系统MapInfo集成开发的基本方法。重点讨论了集成开发中的一些关键技术的实现方法。
关键词:PowerBuilder,MapInfo,MapBasic,系统集成,OLE自动化,回调
0 引言
PowerBuilder 是一个面向对象的用于构造基于客户/服务器(Client/Server)数据库应用系统的开发工具,它通过ODBC可同时支持Sysbase、Oracle、Informix、SQL Server等多种关系数据库,具有强大的数据库应用程序开发功能,尤其是它提供的如数据窗口(Data Window)等工具,使其能够更加方便有效地访问与操纵数据库。
MapInfo是由美国MapInfo公司推出的地理信息系统开发平台,其核心包括MapInfo Professional和MapBasic两个部件。通过MapInfo平台,能把大量信息直观地与地理图形有机联系起来,使枯燥的表格数据可视化,从而极大地方便了数据分析和辅助决策。
利用PowerBuilder强大的数据访问与操纵能力和MapInfo的地图信息管理功能,结合Integrated Mapping技术、OLE自动化技术等,将MapInfo地图集成到PowerBuilder的应用中,可以迅速地开发出具有强大地图处理能力的应用程序,使数据库中繁杂抽象的数据快速、准确、灵活地显示于电子地图之上,将数据可视化,实现空间数据和属性数据的有机结合。
1 开发框架
使用PowerBuilder和MapInfo集成开发技术所开发的应用程序,称为集成的地图应用程序(Integrated Mapping Application)。在集成的地图应用程序中,以客户/服务器的开发模式,使用PowerBuilder开发的应用程序称为客户程序。客户程序运行在前台,通过OLE调用在后台运行的作为OLE自动化服务器的Mapinfo。
在集成的地图应用程序中,根据MapInfo提供的Integrated Mapping接口,在PowerBuilder客户程序中使用Outbound OLE Automation(输出OLE自动化)技术,将MapInfo的地图窗口集成到客户程序中,从而使客户程序具备地图处理能力。客户程序使用MapInfo OLE自动化对象、MapBasic OLE自动化对象的有关属性和方法,通过MapInfo OLE自动化服务器对集成的地图窗口进行控制。图1给出了客户程序和服务器程序间的关系。图1 PowerBuilder客户程序和MapInfo服务器的关系
2.建立PowerBuilder客户程序和MapInfo OLE服务器的连接
建立PowerBuilder客户程序和MapInfo OLE服务器的连接在原理上是:在PowerBuilder开发的客户程序中,通过使用Outbound OLE Automation技术实现客户程序和MapInfo服务器的连接,借助OLE调用MapInfo服务器。具体实现上是:在包含地图窗口的框架窗口的Open事件中添加代码,创建一个新的OLEObject,而将MapInfo作为这个新的OLEObject的OLE服务器。要调用MapInfo服务,则需调用ConnectToNewObject()函数并传递OLE Programmable Object的程序标识,即“MapInfo.Application”:
//OLEObject对象的实例
OLEObject MapInfo
//接收错误代码
Integer ErrCode
//创建一个与MapInfo进行通信的OLE自动化对象
MapInfo = Create OLEObject
//连接OLE自动化对象到MapInfo服务器
ErrCode = MapInfo.ConnectToNewObject(MapInfo.Application)
If ErrCode gt 0 Then
MessageBox(Fatal Error, Error connecting to the map server. Exiting...)
Ruturn
End If
在退出应用程序时,要调用DisConnectToObject()函数断开OLE自动化对象和MapInfo OLE自动化服务器之间的连接,并撤消OLE自动化对象,以释放其占用的系统资源。为此,可在上述框架窗口的Close事件中添加代码实现: //断开与OLE自动化对象与MapInfo服务器的连接
MapInfo.DisConnectToObje
您可能关注的文档
- 21世纪制冷空调行业绿色环保制冷剂的趋势与展望_工程建筑论文.doc
- 21世纪岩土工程发展展望_工程建筑论文.doc
- 21世纪建筑设计发展趋向 _工程建筑论文.doc
- 21世纪斜张桥的抗震问题_工程建筑论文.doc
- 21世纪的住宅区理论 _工程建筑论文.doc
- 220 kV东莞长安变电站自动化系统特点_通信学论文.doc
- 280M3液化气专用船研制_电子机械论文.doc
- 32m超低高度梁高强混凝土泵送施工工艺_工程建筑论文.doc
- 3G时代,出版由谁做主——浅析传统出版与手机出版的牵手_通信学论文.doc
- 4G概念移动通信关键技术浅析_通信学论文.doc
- 2018-2019学年北京市朝阳区七年级(下)期末历史试卷.pdf
- 2018-2019学年北京市朝阳区七年级(下)期末英语试卷.pdf
- 2018-2019学年北京市延庆区八年级(下)期末生物试卷.pdf
- 2018-2019学年北京市海淀区首师大附中高二(下)期末历史试卷.pdf
- 2018-2019学年北京市顺义区七年级(下)期末地理试卷.pdf
- 2018-2019学年北京市丰台区八年级(下)期末语文试卷.pdf
- 2018-2019学年北京市东城区八年级(下)期末生物试卷.pdf
- 2018-2019学年北京市西城区七年级(下)期末地理试卷.pdf
- 2018-2019学年北京市东城区八年级(下)期末语文试卷.pdf
- 2018-2019学年北京市西城区高一(下)期末英语试卷.pdf
文档评论(0)