VB调用DLL的问题

[复制链接]
查看11 | 回复2 | 2010-7-27 13:17:51 | 显示全部楼层 |阅读模式
VB调用一个DLL文件中的函数, 函数是这样 function XXX (byval A as int,ByVal B as string) as long
函数的说明是 参数B是一个返回的函数,意思是这个B其实是个返回值,但他却写在了参数里, 请问 VB如何提取这个返回值B?
2楼说的还是有些笼统
他的函数是这样 Delphi写法 B是一个PChar,说明书上要求别的语言必须是字符数组
我在VB里应该如何获取B的值呢?
难道
Dim str() as byte
msgbox XXX(1,str)
然后执行完 str就变成返回值了?

回复

使用道具 举报

千问 | 2010-7-27 13:17:51 | 显示全部楼层
对于String类型的VB变量,byval传入一个DLL,对于DLL的接收方来说,就是按照引用方式传递的DLL大多用C语言完成 C语言里:char * 对应 byval的string虽然VB里是按值传递,但是DLL里是可以直接修改的你调完这个DLL以后,看一下B的值就可以看到它应该发生变化了不明白的请百度HI我,这样的问题我遇到很多了 -----------------如果是delphi的话,有一点要说明的就是:只有VB里有串的概念,别的语言都使用字符数组来表示,所以VB里的字符串变量实际上是它的地址,所以VB里对字符串用ByVal调DLL,DLL里是可以直接去改这个变量B的内容的,调用完以后B的值也就发生变化了,windo
回复

使用道具 举报

千问 | 2010-7-27 13:17:51 | 显示全部楼层
我感到不可思议..没看错?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行