计算机应用论文栏目提供最新计算机应用论文格式、计算机应用硕士论文范文。详情咨询QQ:1847080343(论文辅导)

PowerBuilder和MapInfo的集成开发技术

日期:2018年01月15日 编辑: 作者:无忧论文网 点击次数:2515
论文价格:免费 论文编号:lw200611082113075647 论文字数:2935 所属栏目:计算机应用论文
论文地区:中国 论文语种:中文 论文用途:职称论文 Thesis for Title
将返回给PowerBuilder客户程序
MBAppOleObject.MBGlobals.Item("g_pbhwnd_bg").Value = String(Handle(this))
    由下面代码所示的PowerBuilder客户程序就可以在窗口w_map的用户自定义事件ue_SelectionMade中处理地图窗口事件:
//在PowerBuilder客户程序的用户自定义事件中使用MBAppOleObject对象获取回调信息
ls_MI_CommandInfo = MBAppOleObject.MBGlobals.Item("g_CommandInfoString").Value

    5.充分利用MapBasic应用程序

    MapBasic是MapInfo提供的用户系统开发工具,它具有对地图对象的管理、对含有地图对象的MapInfo表的管理等方面的强大功能。
    在将MapInfo地图集成到PowerBuilder的开发应用中,MapBasic不仅仅能用来实现回调,还可实现其它诸多功能。例如,在开发过程中经常会遇到需要保存地图对象类型的中间结果的问题,而在PowerBuilder中没有与之对应的数据类型,又难以通过MapInfo OLE自动化对象的方法和属性实现等诸如此类的问题,若利用MapBasic应用程序以及使用它的OLE自动化对象MBApplications的方法和属性来解决,可以达到事半功倍之效果。
    与MapInfo OLE自动化对象相似,MapBasic的OLE自动化对象MBApplications也有自己的Do方法和Eval方法。每当PowerBuilder客户程序调用它们时,MapInfo就会自动调用MapBasic的保留过程RemoteMsgHandler()或RemoteQueryHandler()过程,并可以在过程中通过CommandInfo(CMD_INFO_MSG)得到调用Do方法或Eval方法的参数。
    以下代码运用MBApplications的Do方法,实现改变当前选中地图对象的颜色:
//要求将当前选中地图对象的颜色改为兰色
MBAppOleObject.Do("Blue")
MapInfo将自动调用RemoteMsgHandler()过程:
Sub RemoteMsgHandler()
Dim MyObject As Object
'获取并分析Do方法的参数
CmdInfoStr = CommandInfo(CMD_INFO_MSG)
'改变地图对象的颜色
If CmdStr= "Blue" then
MyObject = Selection.obj
Alter Object MyObject Info 2, MakeCustomSymbol ("Towe1-32.bmp", RGB(0,0,255), 18, 2)
Update Selection set obj = MyObject Where RowID = 1
End If
End Sub
MBAppl