社区
PowerBuilder
帖子详情
问个大菜问题,调用VC写的DLL时参数是结构体,这个结构体试怎么弄的?
hamzsy
2008-03-25 10:40:28
由于写了动态库给别人用,在DELPHI里调试通过了,现在再调PB的。对PB一窍不通,网上也没找到具体资料,PB的资料好少啊。请您指点一下,不胜感谢。
1、结构体在哪里声明,语法是什么样的?
2、如何做为参数传给动态库?能把数值带回来么?
最好能有可以编译通过的例子,再次大感谢
...全文
137
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形式调用
C#
调用
C++
DLL
传递
结构体
数组的终极解决方案
在项目开发
时
,要
调用
C++封装的
DLL
,普通的类型C#上一般都对应,只要用
Dll
Import传入从
DLL
中引入函数就可以了。但是当传递的是
结构体
、
结构体
数组或者
结构体
指针的
时
候,就会发现C#上没有类型可以对应。这
时
怎么办,...
C#
调用
C++生成的
dll
,
参数
有
结构体
数组
C++生成
dll
程序: /* 实现功能:将一个图片中,所在行的像素值,按照一定的间隔(列数),将对应点的像素值提取出来。 */ #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #...
LabVIEW
调用
DLL
传递
结构体
参数
LabVIEW 中
调用
动态库接口
时
,如果是值传递的
结构体
,可以根据字段拆解为多个
参数
;如果
参数
为
结构体
指针,可用簇(Cluster)来匹配,其内存连续相当于单字节对齐。
java
调用
c
dll
,指针
参数
和
结构体
参数
搞定
终于有了比较大的成果,不过身体也累完了,昨天又去打的吊瓶,坐成铁的
时
候差点就...基于上两篇java
调用
dll
的文章,我做了更为复杂的
参数
传递,指针变量和
结构体
变量,下面给出源码
vc
++中的工程名称是SMSXIAOSource
【
DLL
动态链接库】labview
调用
DLL
动态链接库
参数
是
结构体
数组/字符串数组
labview
调用
动态库的
时
候,解析动态中的传递的指针,包括
结构体
数组,由字符串组成的数组。 动态库内容 #pragma pack(1)//
结构体
对齐方式,和后面labview中的跳转距离有关 struct MyStruct { int a; double b; ...
PowerBuilder
1,076
社区成员
66,437
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章