如何将 C 语言声明转换为 PB 声明

hbd 2000-02-01 12:46:00
要求:

在PB中传一个文件名到DLL中

dll 中的函数声明
int test( char *filename ){
/* */
return 1;
}

pb中的函数声明
FUNCTION int test( string s ) LIBRARY "MPEG.DLL"
or
FUNCTION long test( string s ) LIBRARY "MPEG.DLL"

调用错误提示:
错误的参数类型
...全文
145 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangjun 2000-02-07
  • 打赏
  • 举报
回复
可转换为
FUNCTION int test( ref string s ) LIBRARY "MPEG.DLL"
929 2000-02-01
  • 打赏
  • 举报
回复
在PB中调用DLL需要验证DLL的所在目录是否可被程序访问到。访问顺序:当前目录,系统目录,路径中指明的目录。另外,在DLL声明中类型有如下转换:
* (any pointer) 32-bit pointer 转换为 Long
char * 转换为PB中的Blob类型。
int 转换为PB中的INTEGER(16BIT) OR LONG(32BIT)
也就是说,声明应为:FUNCTION LONG(BLOB S) LIBRARAY "MPEG.DLL"(WINDOWS9X,WINDOWS NT)
其它转换可参照PB ONLINE中关于POWERSCRIPT的参考说明。FIND "DLL"即可。

1,075

社区成员

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

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