免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5089 | 回复: 3
打印 上一主题 下一主题

[Tuxedo] 跪求c++builder 下编写tuxedo客户端的资料 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-05 17:47 |只看该作者 |倒序浏览
如题,这方面的资料太少了,实在找不到,哪位大哥有,麻烦给我一点,先谢谢了

论坛徽章:
0
2 [报告]
发表于 2006-11-06 11:19 |只看该作者
ZT from http://dev2dev.bea.com.cn/bbs/forum.jspa?forumID=4&start=0 精华贴。

BCB 开发Tuxedo 客户端配置详解!!
大家知道很多编程语言都可以开发Tuxedo 客户端;Delphi,PB,Vc,BCB
今天就将用BCB 开发Tuxedo 客户端的心得体会写出来,与大家共同探讨。
机器配置:win2k、Tuxedo7.1、BCB6.0;
1、把%TuxedoDir%\bin 目录下的wtuxws32.dll 用BCB 自带的implib 生成
方法是implib wtuxws32.lib wtuxws32.dll,这样就生成了符合BCB 的链接库
2、把这个wtuxws32.lib 加到BCB的project 中(Project --> Add to Project) 。
3、在实现单元(如unit1.cpp)中要#include "atmi.h",当然你必须在project->option->
directories/conditional->include path 中加入%TuxedoDir%\inlude 这个目录。
4、在调用Tpinit 之前,必须加两条语句:tuxputenv("WSWADDR=//ip:端口");
tuxputenv("WSENVFILE=");
5、很关键,必须在服务器端的Tuxconfig 文件中的SERVICES 节点后加入:
WSL SRVGRP=GROUP1 SRVID=10 CLOPT="-t -- -n //192.168.0.236:6677"
(注:192.168.0.236 是服务器断的ip 地址,6677 是端口号);其次要在MACHINE
MAXWSCLIENTS =5 ,可以不是5,但一定要非0;这一步很重要,否则客
户端始终连接不了服务器的应用。
如果不成功,可以察看C:\根目录下的ULOG.XXXX,里面会有详细的出错信息。
下面贴一段我用BCB 改造的SimpApp:
//---------------------------------------------------------------------------
#pragma package(smart_init)


//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{ }
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{ char *sendbuf, *rcvbuf;
long sendlen, rcvlen;
int ret;
tuxputenv("WSNADDR=//192.168.0.235:6677");
tuxputenv("WSENVFILE=");
if (tpinit(NULL)==-1)
{
Panel1->Caption = "error";
}
else
{
Panel1->Caption = "ok";
sendlen = LabeledEdit1->Text.Length();
if((sendbuf = (char *) tpalloc("STRING", NULL, sendlen+1)) == NULL)
{
ShowMessage("分配发送存贮空间失败!!") ;
tpterm();
}
if((rcvbuf = (char *) tpalloc("STRING", NULL, sendlen+1)) == NULL)
{
ShowMessage("分配接受存贮空间失败!!") ;
tpfree(sendbuf);
tpterm();
}
StrCopy(sendbuf,(LabeledEdit1->Text).c_str());
ret = tpcall("TOUPPER", sendbuf, 0, &rcvbuf, &rcvlen, 0);
if (ret == -1)
{ ShowMessage("调用服务失败");
tpfree(sendbuf);
tpfree(rcvbuf);
tpterm();
Abort();
}
LabeledEdit2->Text = StrPas(rcvbuf);
tpfree(sendbuf);
tpfree(rcvbuf);
tpterm();
} }

论坛徽章:
0
3 [报告]
发表于 2006-11-06 14:13 |只看该作者
非常谢谢你的回复,但是还有问题啊
我按照你的方法做了,编译没问题,但是调用服务的时候有问题,ulog里面有下面的错误提示:
155726.MY-TOMATO!?proc.2060: 110506: TUXEDO Version 6.5 32-bit Windows.
155726.MY-TOMATO!?proc.2060: LIBTUX_CAT:1566: ERROR: Unable to set type switch index
155726.MY-TOMATO!?proc.2060: LIBTUX_CAT:602: ERROR: TUXCONFIG environment variable not set
155726.MY-TOMATO!?proc.2060: LIBTUX_CAT:588: ERROR: Unable to open TUXCONFIG file
155730.MY-TOMATO!?proc.2060: LIBTUX_CAT:602: ERROR: TUXCONFIG environment variable not set
155730.MY-TOMATO!?proc.2060: LIBTUX_CAT:588: ERROR: Unable to open TUXCONFIG file


我以前也遇到过,但是使用buildclient编译的时候加上-w参数,把客户端编译成工作站就可以了,但是现在bcb下面怎么加啊,怎么编译啊,请您不吝赐教啊

论坛徽章:
0
4 [报告]
发表于 2006-11-06 14:51 |只看该作者
wtuxws32.lib 就是 workstation 的库了。

你同一个服务 用其他客户端能跑通吗?

建议你就用simpserv的服务测测。

[ 本帖最后由 wenlq 于 2006-11-6 14:55 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP