当前位置:首页>> PowerBuilder>> PB技巧

全文搜索

精华导读

·EasyERP2004 制造行业通用性ERP管理系统
·PB中表的修改对数据窗口和报表的影响的解决办法
·在PB中实现Word内容的替换
·office xp风格菜单基本版
·用PB制作outlook界面源程序(非原来的老外版本)(
·将所见dw内容(包括计算字段)输出到execl中
·ERP在中国应用面临的问题
·PB中使用FORMULA ONE(实例篇
·控制打印机的动态库,兼容win98/98/me/nt2000/xp
·易佳自定义报表系统
·用例驱动的需求过程实践

最新发表

·循序渐进学习Power Builder 6.0(17-4)
·循序渐进学习Power Builder 6.0(17-5)
·循序渐进学习Power Builder 6.0(17-6)
·用PB编写邮件应用程序(1)
·用PB编写邮件应用程序(2)
·用PB编写邮件应用程序(3)
·用PB编写邮件应用程序(4)
·Facade模式的定义: 为子系统中的一组接口提供一个一致的界面.
·压缩数据库日志
·用户自定义的数据库修复
·数据仓库理论
·如何判断是否以独占方式打开当前数据库?
·导出数据到Excel概述
·根据查询结果,生成XML文件
·精彩的近乎完美的分页存储过程
·数据库主键设计之思考
·但凡涉及多用户不同权限的网络或者单机程序,都会有权限管理的问题,比较突出的是MIS系统。
·权限设计的探讨
·刷新数据库视图

循序渐进学习Power Builder 6.0(17-3)

文章来源:本网 文章编辑:admin 添加时间:2007-1-2 13:24:00

17.3 创建 Connection Object

 
现在,我们已经定义了NVO,并生成它的代理对象,下一步再来看一看如何定义和初始化它一个链接对象Connection Object。与Transaction对象不一样,系统并不为应用程序自动生成这个对象,而需要自已手工定义。

打开应用程序画板,选择它的Open事件。在其中只有一句打开窗口语句:Open Win_shoping。我们定义一个全程变量,输入:Connection myconnection。再从脚本编辑器中输入myconnect = create connection,为这个connection对象进行初始化。接着我们赋予它三个最基本的属性值:application、driver和location.。在不清楚之前,我们先给它们空值。至此为止,已经为connection对象初始完毕,我们还需用它来服务器建立联系。输入myconnect ConnectToServer。为了检查它是否真地找到了服务器,我们还需要输入一些脚本来验证它的返回值。如它的返回值不为空,则程序提示一些出错信息。如果等于0,则说明它已经正确链接到服务器,于是进一步打开主窗口win_shoping(图17-4)。

我们建立了myconnect对象,相应地,还应该在程序结束之前将它释放掉,以便系统回收这个对象所占的内存空间。打开Close事件,先中止服务端的服务线程,同时释放服务器为我们分配的内存空间。输入myconnect DisconnectServer。随后,再释放myconnect对象,输入destroy myconnect。在PowerBuilder中,如果创建一个用户自定义的对象,我们就在不需要时把它释放掉。

图17-4

接下去,我们把这个代理对象加到应用程序中。打开窗口win_shoping,在“折扣”按钮中加入代码。Cpo_discount po_discount:定义一个NVO对象实例;po_discount SetConnect myconnect:这一句,我们为代理指定链接对象;这样每当代理对象调用了一函数,myconnect对象就为应用程序重定向到远程的NVO中,这个NVO存在于服务器中。po_discount = create Cpo_discount:初始化这个NVO实例;最后,我们释放这个实例。

现在,我们已经把程序改成了一个在分布式环境下运行的应用程序。在客户端中,所有函数都指向了这个po_discount代理对象。

在测试这个程序之前,我们对myconnect对象属性作一些修改。再打开Application画板,我们把myconnect的driver属性改为local,并让其它两个属性继续为空。当driver的值为local,PowerBuilder就会把分布式程序当作非分布式程序来运行。当程序调用代理对象,代理转向Connection对象,如果Connection对象发现driver为local,Connection就不会发链接请求信息。我们来测试一下这个程序。按下运行按钮,程序被正确运行了。单击“Discount”,程序返回了“0.9”。

[ ]

首页 评论 打印 刷新 返回顶部 关闭
【相关文章】  【相关评论】
目前暂时没有相关文章