VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 851|回复: 4

vc写的dll,其中的字符串如何传给vb?

[复制链接]

2

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-10-14 09:30:01 | 显示全部楼层 |阅读模式
弄了半天都不行,恳请帮忙!帮我写一个小例子
回复

使用道具 举报

0

主题

8

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-10-14 09:45:01 | 显示全部楼层
__stdcall int CALLBACK CalcSum(int a,int b,char *c);

vb中可以声明:
Private Declare Function MySum Lib "d:\MyDLL.dll" (ByVal S As Integer, ByVal D As Integer, ByRef c as string) As Integer
回复

使用道具 举报

0

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-10-14 16:15:01 | 显示全部楼层
在VC中,要使用BSTR类型对应VB中的STRING类型。
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-10-14 19:00:01 | 显示全部楼层
要注意VC中的字符串类型用宽字符,否则会不匹配。因为VB使用的是unicode编码。还有就是VB与VC的二维数组的行列正好是颠倒的,最好不要使用二维数组格式写DLL。
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-10-14 19:15:01 | 显示全部楼层
就用stdcall就行了,其他的何调用普通的api一样
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表