注册 登录
编程论坛 PowerBuilder

[求助]powerbuild调用c++写的dll动态库

fgypblt 发布于 2006-06-27 14:22, 1669 次点击
dll文件-testa.dll
int test(int a,int b,unsigned char* c,int* d)其中
指针c 、d在pb编程中如何使用?

pb编程,这样使用报错了:
定义:Function int test(int a,int b,string c,int d) LIBRARY "testa.dll"
调用:
string ls_result//结果文本
int li_ret,li_resulen//结果位数
ls_result=space(9)
li_resulen=0//不妥,不知怎么用?
li_ret=test(3,6,ls_result,li_resulen)//报错
if li_ret=0 then messagebox('结果','testa.dll得到'+ls_result)

请不吝指导。
3 回复
#2
love_20082006-06-29 12:47

在PB中用REF STRING C 接受试一试

#3
fgypblt2006-07-07 09:30
ref是对的。已解决
#4
fgypblt2006-07-10 09:57

一些感想。
这次遇到的问题,其实本来我的代码是对的,后来在排除function定义错误后,还是无法达到设计要求,活很紧,所以当时真的急了,左试右试,就得到‘[求助]powerbuild调用c++写的dll动态库’中的junk代码了,后来找到dll文件脱壳工具,反编译为汇编代码,看的头大,终于大致发现设备dll文件的兼容性问题,通过与厂方软件集成工程师协调后方彻底解决。
本来使用操作系统自带文件也可满足此次工程调试需要的,方法不止一种。所以,很多基础性代码包括针对底层开发的储备还是要有。

呵呵 。。。。。

1