社区
PowerBuilder
帖子详情
问个大菜问题,调用VC写的DLL时参数是结构体,这个结构体试怎么弄的?
hamzsy
2008-03-25 10:40:28
由于写了动态库给别人用,在DELPHI里调试通过了,现在再调PB的。对PB一窍不通,网上也没找到具体资料,PB的资料好少啊。请您指点一下,不胜感谢。
1、结构体在哪里声明,语法是什么样的?
2、如何做为参数传给动态库?能把数值带回来么?
最好能有可以编译通过的例子,再次大感谢
...全文
142
11
打赏
收藏
问个大菜问题,调用VC写的DLL时参数是结构体,这个结构体试怎么弄的?
由于写了动态库给别人用,在DELPHI里调试通过了,现在再调PB的。对PB一窍不通,网上也没找到具体资料,PB的资料好少啊。请您指点一下,不胜感谢。 1、结构体在哪里声明,语法是什么样的? 2、如何做为参数传给动态库?能把数值带回来么? 最好能有可以编译通过的例子,再次大感谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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形式调用
Android Compose 新闻App(二)ViewModel、Hlit、数据流.docx
Android Compose 新闻App(二)ViewModel、Hlit、数据流.docx
软
时
间窗下区域内电子商务物流配送线路
问题
研究.docx
软
时
间窗下区域内电子商务物流配送线路
问题
研究.docx
Android kotlin作用域函数.docx
Android kotlin作用域函数.docx
项目管理过程电子文件管理办法.doc
项目管理过程电子文件管理办法.doc
物联网技术在图书馆管理中的应用研究.docx
物联网技术在图书馆管理中的应用研究.docx
PowerBuilder
1,108
社区成员
66,453
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章