| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2223 人关注过本帖
标题:关于调用dll的传值问题
只看楼主 加入收藏
pengzhanggui
Rank: 5Rank: 5
等 级:职业侠客
威 望:8
帖 子:161
专家分:344
注 册:2015-7-20
收藏
得分:0 
回复 10楼 xzlxzlxzl
已测试ok,分享一下,整个dll需要注意的是char* 指针类型(传地址还是传值的问题)

方法1(传地址):
private function ReadBasicInfo lib "user.dll"(byval ino as long,byref respBuf as byte,byref iLength as long) as boolean 'api声明部分
dim ino as long,iLength as long
dim respBuf(1 to 40) as byte
ReadBasicInfo(ino,respbuf(1),ilength)
respbuf(1)获得的地址位置,后续要得到地址对应的值的时候,需要使用
结果=StrConv(Mid(respBuf, 1, iLength / 2), vbUnicode)

方法2(传值):
private function ReadBasicInfo lib "user.dll"(byval ino as long,byval respBuf as string,byref iLength as long) as boolean 'api声明部分
dim ino as long,iLength as long
dim respBuf as string
ReadBasicInfo(ino,respbuf,ilength)

[此贴子已经被作者于2016-11-2 08:14编辑过]


来找我试试看
2016-11-02 07:56
快速回复:关于调用dll的传值问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.047906 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved