前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于PowerBuilder的搜索

Power Builder中调用tuxedo函数简介 - Unix爱好者家园 欢迎 lirh 加入本站! 免费注册 用户登陆 汇款方式 汇款确认 产品报价 联系我们 帮助中心 加入收藏 设为首页 会员体系 申请VIP 最新公告信息网站地图')" style='CURSOR:hand' href='./' class=h_menu>网站首页 定单查询收银台购物车光盘报价汇款方式汇款确认')" style='CURSOR:hand' href='shop.asp' class=h_menu>光盘超市 下载必读最近更新热门下载推荐下载')" style='CURSOR:hand' href='down.asp' class=h_menu>软件下载 发表文章推荐文章热门文章')" style='CURSOR:hand' href='article.asp' class=h_menu>技术文章 SCO UNIX技术专题Linux技术专题Informix技术专题Oracle技术专题')" style='CURSOR:hand' href='special_list.asp' class=h_menu>专题 发送短信我的短信我的好友网络书签修改资料修改密码虚拟金币消费记录购买记录发布信息领红包宣传代码')" style='CURSOR:hand' href='user_main.asp' class=h_menu>用户中心 永久期限白金VIP1年期限VIP6个月期限VIP')" style='CURSOR:hand' href='help.asp?action=vip' alt='本站收费会员,可以下载更多软件' class=h_menu>VIP会员 网站留言')" style='CURSOR:hand' href=liuyan.asp alt='网站留言,有话就说吧' target='_blank' class=h_menu>网站留言 白金VIP会员论坛普通VIP会员论坛')" style='CURSOR:hand' href='forum.asp' class=h_menu>论坛 >站内搜索')" style='CURSOR:hand' href=search.asp alt='站内资料搜索' class=h_menu>站内搜索 target='_blank>卓越资源酷')" style='CURSOR:hand' href=/vc/ alt='本站新的文章中心' target='_blank'class=h_menu>卓越资源 target='_blank>卓越源代码')" style='CURSOR:hand' href=http://17dvd.cn/ alt='最新的免费的建站源代码' target='_blank'class=h_menu>源代码   今天是:2014年03月09日 星期日 您现在位于: 首页 → 技术文章 → Power Builder... [站长学院—资料丰富全面的站长资源站 Power Builder中调用tuxedo函数简介 作者:吴绍永 出处:dev2dev.bea.com.cn 更新时间: 2007年02月28日 摘 要:本文目的是简单介绍如何在power builder 7.0开发环境中开发tuxedo应用,以tuxedo中FML32类型buffer为例,讲述了如何在power builder7.0中声明tuxedo api函数,如何使用tuxedo API函数,如何采用同步方式调用后台tuxedo服务。 1.pb中如何声明tuxedo API函数为了在PowerBuilder应用程序中调用存放在动态链接库中tuxedo的函数,需要事先声明各tuxedoAPI函数。在声明时要注意明确:(1)函数的作用范围是全局的还是局部的。全局声明可使该函数用于整个应用,局部声明仅使该函数在对象的脚本中有效。(2)必须指明函数返回的数据类型、传递参数的个数和类型,并将存放该函数的tuxedo动态链接库的名字告诉PowerBuilder。下面是例举了一些常用tuxedo API函数,该函数是tuxedo中wtuxws32.dll(workstation方式)中一些常用函数,在声明时候,由于该函数应用于整个应用,所以采用了全局声明方式,选用Declare 中Global External Functions。具体查看下图中声明方式。 下面把图示tuxedo API函数解释说明一下: Function long tuxreadenv (string filename,string labelname) LIBRARY "wtuxws32.dll" /* 读取tuxedo环境变量的函数,filename 为环境变量的文件名字,labelname为section名字*/ Function Integer tpinit (Long TPINFO ) LIBRARY "wtuxws32.dll" /* tpinit 函数,允许client加入tuxedo应用中*/ Function Integer tpterm () LIBRARY "wtuxws32.dll" /* tptem 函数,client从tuxedo应用中remove掉*/ Function Integer tpcall (String SVCNAME , Long IDATA , Long ILEN, ref Long ODATA ,ref Long OLEN , Long flags ) LIBRARY "wtuxws32.dll" /* tuxed同步调用函数,tpcall发送同步应答消息,等待服务端的应答*/ Function Long tpalloc (String BUFTYPE , String SUBTYPE , Long BUFSIZE ) LIBRARY "wtuxws32.dll" /* 空间分配函数,申请tuxedo BUFTYPE类型的buffer*/ Function Long tprealloc (Long buffer , Long BUFSIZE ) LIBRARY "wtuxws32.dll" /* 重新申请buffer大小的函数,大小为BUBSIZE*/ Subroutine tpfree (Long buffer ) LIBRARY "wtuxws32.dll" /* 释放buffer*/ Function integer gettperrno() library "wtuxws32.dll" /* 获得tuxedo错误编码,与tperrno相同*/ Function Integer Fchg32( Long RCVBUF,long FLDID,long OCC, ref String value,ref long LEN ) LIBRARY "wtuxws2.dll" /*改变RCVBUF中field:FLDID的occurrence等于OCC的value*/ Function integer Fget32( Long RCVBUF,long FLDID,long OCC,ref String value,ref long LEN) library"wtuxws32.dll" /*从RCVBUF中获得field:FLDID的occurrence等于OCC的value*/ Function String tpstrerror(integer tperrno) library "wtuxws32.dll" /* 获得tuxedo错误消息的错误信息字符串,与tpstrerror相同 */ LIBRARY "libfml32.dll" alias for "Fchg32" Function Integer Fchgd32( Long RCVBUF,long FLDID,long OCC, ref double value,ref long LEN ) LIBRARY "wtuxws32.dll" alias for "Fchg32" /* 应用于double数据类型Fchg32函数*/ Function Integer Fchgl32( Long RCVBUF,long FLDID,long OCC, ref long value,ref long LEN ) LIBRARY " wtuxws32.dll" alias for "Fchg32" /* 应用于long数据类型Fchg32函数*/ Function integer Fgetd32( Long RCVBUF,long FLDID,long OCC,ref double value,ref long LEN) library" wtuxws32.dll" alias for "Fget32" /* 应用于double数据类型Fget32函数*/ Function integer Fgetl32( Long RCVBUF,long FLDID,long OCC,ref long value,ref long LEN) library" wtuxws32.dll" alias for "Fget32" /* 应用于long数据类型Fget32函数*/2.Pb代码中如何引用tuxedo函数-- 声明完成后,应用程序就可以调用tuxedo各API函数了 ,调用该函数的代码与调用任何标准的PowerScript函数一样,区别在于:该函数存放在tuxedo动态链接库中,调用它时,tuxedo动态链接库装入内存,函数执行。如下图所示: 详细代码示例如下: int iRet string ErrInfo long sndbuf,rcvbuf double lf_deposit double lf_recnum string strtmp long len,lBillCount long ll_NumLong ErrInfo = space(200) iret = tuxputenv("WSNADDR=//123.100.1.66:6000") /*设置环境变量*/ messagebox('tuxputenv',string(iRet)) iret = tpinit(0) /*初始化加入tuxedo应用*/ messagebox('tpinit',string(iret)) sndbuf = tpalloc("FML32","",1024) /*申请发送buffer*/ rcvbuf = tpalloc("FML32","",1024) /*申请接收buffer*/ lf_recnum = 942342.12 strtmp = "abcd" iRet = Fchgd32(sndbuf,100665536,0,lf_recnum,len) /*改变buffer中field的value*/ messagebox('Fchg32',string(lf_recnum)) iRet = Fchgl32(sndbuf,33556580,0,lBillCount,len) messagebox('Fchg32',string(lBillCount)) iret = tpcall ("FMLTMP" , sndbuf , 0, rcvbuf , LEN , 0 ) messagebox('tpcall',string (iret)) /*同步调用FMLTMP后台tuxedo服务*/ len=0 iret = Fgetd32(rcvbuf,100665536,0,lf_recnum,len) /*取得buffer中field的value*/ messagebox('fgetd32',string(lf_recnum)) len =0 iret = Fgetl32(rcvbuf,33556580,0,lBillCount,len) messagebox('fgetl32',string(lBillCount)) len=0 lf_Deposit = 0.0 iret = Fgetd32(rcvbuf,100665348,0,lf_Deposit,len) messagebox('fgetd32(DEPOSIT)',string(lf_Deposit)) ll_NumLong=0 iret = Fgetl32(rcvbuf,33556847,0,ll_NumLong,len) messagebox('fgetd32(ll_NumLong)',string(ll_NumLong)) tpfree(sndbuf) tpfree(rcvbuf) tpterm() 作者简介 吴绍永是(dev2dev ID: wsywin) BEA dev2dev中文网站--在线技术论坛Tuxedo栏目版主,资深Tuxedo专家 (本文已被浏览 6607 次) 发布人:sdccf → 推荐给我的好友 上篇文章:Windows NT平台安装Tuxedo 6.5...下篇文章:curses编程资料 相关文章: Tuxedo.xmlstockapp源代码解析 BEA Tuxedo应用程序开发笔记 最简单的类似HelloWorld的tuxedo程序 Tuxedo配置管理简要说明 Tuxedo 中关于时间的参数的说明 BEA Tuxedo 电子邮件网关 用Delphi Client和TUXEDO进行文件传送 Tuxedo杂记 TUXEDO客户端连接失败解决方法 TUXEDO的BBL启动失败的解决办法 tuxedo的TMS_ORA不能重启成功的解决办法 TUXEDO与ORACLE数据库的互连(1) TUXEDO与ORACLE数据库的互连(2) TUXEDO超时控制全功略 TUXEDO编程简介系列(3) TUXEDO编程简介系列(2) TUXEDO编程简介系列(1) Tuxedo 服务器挂起模式 Fedora Core 6 下安装jdk1.6&NetBeans Windows NT平台安装Tuxedo 6.5方法 相关搜索 查看百度中关于Power Builder中调用tuxedo函数简介的更多内容 查看google中关于Power Builder中调用tuxedo函数简介的更多内容 文章分类 | 操作系统 | SCO_UNIX Sun_Solaris IBM_AIX HP_UX Linux BSD Tru64_UNIX 通用UNIX知识 Windows Minix | 程序设计 | Shell编程 C/C++ 汇编 PHP JAVA Perl Python ASP/HTML XML 中间件 | 数据库 | Oracle Informix Sybase Fox DB2 SQL MySQL PostgreSQL | 网络应用 | 网络应用 | 计算机硬件 | 计算机主机 打印机 路由器 交换机 终端 磁带机 MO 刻录机 终端服务器 调制解调器 文章评论 → 评论内容 (点击查看) 共0条评论,每页显示5条评论 浏览所有评论 (没有相关评论) → 发表我的评论 您的姓名: 您的Email: 评论内容:250字内 发表评论:      发表评论须知 → 尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法; 本站有权保留或删除您发表的任何评论内容; 关于我们 ┋ 网站留言 ┋ 网站地图 ┋ 友情链接 ┋ 与我在线 ┋ 汇款确认 ┋ 管理 ┋ TOP Unix爱好者家园 http://unix-cd.com/ 联系我们:sdccf@163.com 腾讯QQ: 7644599 Copyright (c) 2001-2011 Unix-cd.com. All Rights Reserved.