分析powerbuilder和mapinfo的集成开发技术

分析powerbuilder和mapinfo的集成开发技术

ID:21658337

大小:59.00 KB

页数:7页

时间:2018-10-23

分析powerbuilder和mapinfo的集成开发技术_第1页
分析powerbuilder和mapinfo的集成开发技术_第2页
分析powerbuilder和mapinfo的集成开发技术_第3页
分析powerbuilder和mapinfo的集成开发技术_第4页
分析powerbuilder和mapinfo的集成开发技术_第5页
资源描述:

《分析powerbuilder和mapinfo的集成开发技术》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、分析PowerBuilder和MapInfo的集成开发技术 :本文先容了客户/服务器开发工具Poix、SQLServer等多种关系数据库,具有强大的数据库应用程序开发功能,尤其是它提供的如数据窗口(DataapInfo的舆图窗口集成到客户程序中,从而使客户程序具备舆图处理能力。客户程序使用MapInfoOLE自动化对象、MapBasicOLE自动化对象的有关属性和方法,通过MapInfoOLE自动化服务器对集成的舆图窗口进行控制。图1给出了客户程序和服务器程序间的关系。图1Poation技术实现客户程序和MapInfo服务器的连接,借助OL

2、E调用MapInfo服务器。具体实现上是:在包含舆图窗口的框架窗口的Open事件中添加代码,创建一个新的OLEObject,而将MapInfo作为这个新的OLEObject的OLE服务器。要调用MapInfo服务,则需调用ConnectToNemableObject的程序标识,即“MapInfo.Application”://OLEObject对象的实例OLEObjectMapInfo//接收错误代码IntegerErrCode//创建一个和MapInfo进行通讯的OLE自动化对象MapInfo=CreateOLEObject//连接OLE

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

4、o3.将舆图窗口集成到Poap为一个窗口MapInfo.Application.Do("SetApplicationapInfo.Do("SetNextDocumentParent"+string(Handle(p_map))+"Style1").gif(11237字节)"src="/Ne_Custom01(=1024)。然后,编写一个在MapInfo服务器中运行的MapBasic应用程序,在此应用程序中添加对舆图窗口事件进行处理的子程序。当对客户程序中的集成舆图窗口进行操纵时,MapBasic程序中对应的事件处理程序被触发。在事件处理程序

5、中,可以将要传递给客户程序的信息保存到MapBasic中定义的一个全局变量中,然后使用essage(),以PoandInfo(CMD_INFO_SELTYPE)=1Then'保存舆图对象所在的表的名称g_seltabname=SelectionInfo(SEL_INFO_TABLENAME)'向Pobserver.mbx程序。在MapBasic程序中保存事件信息的变量为g_SelTabName,而g_PbHapBasic程序中用来接收Pobx~"")//创建对MapBasic应用程序进行控制的OLE自动化对象MBAppOleObject=C

6、reateOleObjectMBAppOleObject=MapInfo.MBApplications.Item(1)//传递PoapBasic应用程序//以便MapBasic应用程序将返回给Po("g_pbhap的用户自定义事件ue_SelectionMade中处理舆图窗口事件://在PoandInfo=MBAppOleObject.MBGlobals.Item("g_mandInfoString").Value5.充分利用MapBasic应用程序MapBasic是MapInfo提供的用户系统开发工具,它具有对舆图对象的治理、对含有舆图对

7、象的MapInfo表的治理等方面的强大功能。在将MapInfo舆图集成到PooteMsgHandler()或RemoteQueryHandler()过程,并可以在过程中通过mandInfo(CMD_INFO_MSG)得到调用Do方法或Eval方法的参数。以下代码运用MBApplications的Do方法,实现改变当前选中舆图对象的颜色://要求将当前选中舆图对象的颜色改为兰色MBAppOleObject.Do("Blue")MapInfo将自动调用RemoteMsgHandler()过程:SubRemoteMsgHandler()DimMy

8、ObjectAsObject'获取并分析Do方法的参数CmdInfoStr=mandInfo(CMD_INFO_MSG)'改变舆图对象的颜色IfCmdStr="Blue"then

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。