在线等待:关于pb的一个小问题

zyn01 2002-12-17 01:59:14

我的程序要调用中间件提供的动态连接库,可是有的函数可以调用成功,
有的好象pb根本不能执行,一运行到函数调用处,pb就报错
并且退出了 pb,根本不让跟踪调试。问题出在哪里呢?
...全文
44 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
skysaint 2002-12-18
  • 打赏
  • 举报
回复
告诉你一个声明和调用外部函数的技巧.
对于你说的char *型以及string等只要是字符(串)的,声明时都用形如ref argname表示,调用前,如果某参数最大长度已知,则先对此参数初始化足够空间
argname=space(32)
如果不知长度,也要做一个估计,一般space(256)就够了。因为pb变量存储的原因,这点相信你也明白。
如果某参数在这次调用时根本用不到,最好也设置一下
setnull(argname)
记住,delphi能调用的外部函数,pb也可以。
如此试验,百试不爽
benneng 2002-12-18
  • 打赏
  • 举报
回复
int aa_SendMessage(unlong hd,char * a,char * b,unlong c,unlong d,char e,char ushead[32],char * mg,long len)
试试!
888888888888 2002-12-17
  • 打赏
  • 举报
回复
关注
zyn01 2002-12-17
  • 打赏
  • 举报
回复
to:ghostlee
这个dll是其他人已经写好的,我只是看了一些文档,很多地方都搞不明白
更不用提使用了
那在pb中该对应哪种数据类型呢?
ghostlee 2002-12-17
  • 打赏
  • 举报
回复
静态大小的字符数组?为什么不用char*的说?
zyn01 2002-12-17
  • 打赏
  • 举报
回复
char ushead[32]是什么意思?
zyn01 2002-12-17
  • 打赏
  • 举报
回复
int aa_SendMessage(long hd,char * a,char * b,long c,long d,char e,char ushead[32],char * mg,long len)
在pb的外部函数中该如何声明?
dotnba 2002-12-17
  • 打赏
  • 举报
回复
host_status
应该是个结构,在PB中定义
在C中找到头文件,看他的结构是怎么定义的
zyn01 2002-12-17
  • 打赏
  • 举报
回复
我估计是类型不匹配,不过api好像是用c写的
搞不清pb和c之间的数据类型的对应关系
xiaobzg 2002-12-17
  • 打赏
  • 举报
回复
API声明是否正确?类型是否匹配?注意声明时的函数的大小写
zyn01 2002-12-17
  • 打赏
  • 举报
回复
long * host_status 在pb中对应的是什么类型
也就是说在pb对应的外部函数中如何声明?
ice2water 2002-12-17
  • 打赏
  • 举报
回复
up

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧