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.gif (8214 字节)
图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 <> 0 Then

MessageBox("Fatal Error", "Error connecting to the map server. Exiting...")

Ruturn

End If

在退出应用程序时,要调用DisConnectToObject()函数断开OLE自动化对象和MapInfo OLE自动化服务器之间的连接,并撤消OLE自动化对象,以释放其占用的系统资源。为此,可在上述框架窗口的Close事件中添加代码实现:

//断开与OLE自动化对象与MapInfo服务器的连接

MapInfo.DisConnectToObject()

//释放OLE自动化对象

Destroy MapInfo

3.将地图窗口集成到PowerBuilder应用程序中

要将MapInfo的地图窗口集成到PowerBuilder开发的客户程序中,必须在客户程序中为MapInfo中的应用窗口重新指定父窗口,并指定一个Picture控件作为集成的地图窗口的父窗口。可以使用OLE自动化对象的Do方法实现上述功能:

//重新指定MapInfo中的应用窗口的父窗口为应用程序窗口

//其中w_map为一个窗口

MapInfo.Application.Do ("Set Application Window " + String(Handle(w_map)))

//指定一个Picture控件棗p_map为地图窗口的父窗口,将地图窗口集成到客户程序中

MapInfo.Do ("Set Next Document Parent " + string(Handle(p_map)) + " Style 1")

2<p>此新闻共有<font color=red><b>3</font></b>页 上一页   <a href=24649.html>1</a>  <a href=24649-2.html>2</a>  <a href=24649-3.html>3</a>   下一页</P></TD>
                              </TR>
                              <TR> 
                                <TD></TD>
                              </TR>
                            </TBODY>
                          </TABLE></TD>
                      </TR>
                    </TBODY>
                  </TABLE>
                </DIV>
                <TABLE cellSpacing=0 cellPadding=3 width=595 bgColor=#fff3ff border=0>
                  <TBODY>
                    <TR> 
                      <TD width=

编辑: 作者: 来源:
 
请记住中国最大的免费论文站 chinese163论文库 域名:www.chinese163.com/lunwen/
相关联接        
·Developer/2000中的Forms参数及应用Developer/2000中的Forms参数及应用Developer/2000中的Forms参数及应用
·基于Intranet的储粮测控与粮情分析推理系统的设计与实现
·PowerBuilder和MapInfo的集成开发技术
·实现桌面地理信息系统ArcView和VB5应用程序之间的通讯
·基于耦合度的分布问题研究
 
 

论文分类
经济管理类论文
经济学 财政税收
金融证券 会计论文
统计学 国际贸易
工商管理论文 市场营销
人力资源 公共管理
文秘 保险学
旅游管理 本类其它论文
工学类论文
建筑 机械
电子工程 化工
材料工程 信息化工程
交通 电力
水利 其它工学论文
社会艺术类论文
政治 军事
档案管理  
心理学  
新闻传播 法律论文
哲学 其它社会学
文学 艺术
计算机论文
网络技术 计算机通信
电子商务论文 其它计算机
电信  
理学论文
数学 物理学
化学 生物学
地理地质学 天文学
环境学 其它理学
农/林学 动物学
中医学 西医学
语言教育论文
语言学 汉语
英语 日语
德育 历史
体育 教育体制
语文教育 职业教育
素质教育 其它教学论文
实用文献资料
调查报告 个人简历
求职信 其它申请书
调查报告 工作报告
实习报告 其它报告
入党申请书 毕业论文
   
Copyright © 2002-2004 www.chinese163.com Inc. All rights reserved. chinese163论文库 版权所有