动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   数据库 → 阅读文章

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

作者:郁郁小蝎 来源:中国站长学院中国站长学院 
阅读 数 348 人次 , 2006-2-15 17:52: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”。

  
 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:循序渐进学习Power Builder 6.0(17-2)
· 下一篇:循序渐进学习Power Builder 6.0(17-4)
· Sybase数据库技术(18)
· 改善SQL Server内存管理
· MySQL数据库技术(14)
· 循序渐进学习Power Builder 6.0(10-2)
· 关于MS数据仓库备份


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077