社区
PowerBuilder
帖子详情
问个大菜问题,调用VC写的DLL时参数是结构体,这个结构体试怎么弄的?
hamzsy
2008-03-25 10:40:28
由于写了动态库给别人用,在DELPHI里调试通过了,现在再调PB的。对PB一窍不通,网上也没找到具体资料,PB的资料好少啊。请您指点一下,不胜感谢。
1、结构体在哪里声明,语法是什么样的?
2、如何做为参数传给动态库?能把数值带回来么?
最好能有可以编译通过的例子,再次大感谢
...全文
185
11
打赏
收藏
问个大菜问题,调用VC写的DLL时参数是结构体,这个结构体试怎么弄的?
由于写了动态库给别人用,在DELPHI里调试通过了,现在再调PB的。对PB一窍不通,网上也没找到具体资料,PB的资料好少啊。请您指点一下,不胜感谢。 1、结构体在哪里声明,语法是什么样的? 2、如何做为参数传给动态库?能把数值带回来么? 最好能有可以编译通过的例子,再次大感谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
AFIC
2008-03-27
打赏
举报
回复
int就是对int,你改long干啥,对照下边仔细核对你的数据类型定义
http://www.sybase.com/detail?id=44648
hamzsy
2008-03-27
打赏
举报
回复
不好意思,是我自己没搞对,应该先把声明部分保存再调用。这个算是解决了。
现在新问题又来了,
int类型申请的不对,换成了long
global type sm_param from structure
long index
character sca[16]
character tpa[16]
character tp_pid
character tp_dcs
character tp_scts[16]
character tp_ud[160]
long ud_len
character sm_st
end type
调用 Read_sms(sm,0)
执行后没报错误,但sm_st里的数据有点乱了,不是按我的预期保存数据的,好像有错接了。
其中sm_st数组的第一条记录前面的sca tpa tp_pid tp_dcs tp_scts tp_ud几项对的,从后面的ud_len sm_st就不对了。第二项以后所有数据都是这样给错接乱套了。请问是不是哪里没搞对?
AFIC
2008-03-26
打赏
举报
回复
>>是不是申明在global external function里?
yes
>>我这么写,保存时说语法错误,意思是类型不匹配
拷贝下,贴上来看看
hamzsy
2008-03-26
打赏
举报
回复
动态库里的函数是不是申明在global external function里?
hamzsy
2008-03-26
打赏
举报
回复
我这么写,保存时说语法错误,意思是类型不匹配
leio
2008-03-26
打赏
举报
回复
动态库申明这里,如果就只用50个(或不超过50个),最好写死
function int Read_sms(ref SM_PARAM rec_sm[50], int delFlag ) library "smsdll.dll"
Read_sms(sm_st,0)
AFIC
2008-03-26
打赏
举报
回复
Read_sms(sm_st,0)
I_am_Z
2008-03-25
打赏
举报
回复
new -> pb object -> structure
定义参数成员
保存命名:stru_param
代码中引用时:
stru_param lstru_param
stru_param.成员1 = ??
.
.
.
leio
2008-03-25
打赏
举报
回复
http://topic.csdn.net/t/20050526/13/4037146.html#
参考此贴
hamzsy
2008-03-25
打赏
举报
回复
结构体的声明问题解决了,非常感谢大家。再下面的问题就是怎么把地址传到动态库里了
动态库的声明:
function int Read_sms(ref SM_PARAM rec_sm[], int delFlag ) library "smsdll.dll"
结构体的声明就写个VC里的,是为了好表达意思,PB里我已经搞定了:
typedef struct {
int index;
char SCA[16];
char TPA[16];
char TP_PID;
char TP_DCS;
char TP_SCTS[16];
char TP_UD[160];
int UD_Len;
char SM_st;
} SM_PARAM;
在调用函数的地方,声明了一数组
SM_PARAM sm_st[50]
下面调用Read_sms的语句我应该怎么写?
就剩最后一步了,各位再继续帮个忙
解决了立刻给分
AFIC
2008-03-25
打赏
举报
回复
1、结构体在哪里声明,语法是什么样的?
完全图形化操作,不需要写语法
2、如何做为参数传给动态库?能把数值带回来么?
直接参数类型写结构体名,把数值带回来用ref形式调用
windows PHP 安装redis
本文详细介绍了在Windows环境中安装Redis的过程,并特别强调了如何正确配置PHP Redis扩展以确保其能够正常工作。
计算机操作系统练习题二
计算机操作系统练习题二
24162-main.zip
24162-main.zip
国央企创新负责人在推动集团内部技术协同
时
,如何利用产业大脑实现跨区域资源整合?.docx
国央企创新负责人在推动集团内部技术协同
时
,如何利用产业大脑实现跨区域资源整合?
国央企创新负责人如何通过区域科技创新数智大脑实现协同创新?.docx
国央企创新负责人如何通过区域科技创新数智大脑实现协同创新?
PowerBuilder
1,111
社区成员
66,454
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章