标题:关于VB向VC++的DLL传递数组的问题
只看楼主
fenglucha
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-2-13
结帖率:100%
已结贴  问题点数:15 回复次数:2 
关于VB向VC++的DLL传递数组的问题
DLL中的代码:
void _stdcall xydll(int x[21],int y[21])
{int i;
for(i=1;i<=20;i++)
{x[i]=i;
y[i]=x[i]+2;}
}
VB中代码是:
Private Declare Sub xydll Lib "d:\xydll.dll" (x() As Integer, y() As Integer)
Private Sub Command1_Click()
Dim x(20) As Integer
Dim y(20) As Integer
x(0) = Text1.Text
y(0) = Text2.Text
Call xydll(x(0), y(0))
With TChart1
.Series(0).Clear
For i = 0 To 20
Series(0).Add y(i), x(i), clTeeColor
Next
End With
End Sub
程序运行之后,老是出现 类型不匹配:缺少数组或用户定于类型。
希望高手们能够指点一下这是怎么回事,谢谢了、、
搜索更多相关主题的帖子: void 用户 
2012-03-07 15:58
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:11 
Private Declare Sub xydll Lib "d:\xydll.dll" (x() As Integer, y() As Integer)
要求传递二个数组进去

Call xydll(x(0), y(0))
调用时传递了二个元素,也就是二个值进去,要希望的 数组的首地址不符。

授人于鱼,不如授人于渔
早已停用QQ了
2012-03-09 15:53
fenglucha
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-2-13
得分:0 
我把Private Declare Sub xydll Lib "d:\xydll.dll" (x() As Integer, y() As Integer)改成Private Declare Sub xydll Lib "d:\xydll.dll" (x As Long, y As Long)就行了、不过还是要谢谢你啊、

2012-03-12 10:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-362476-1-1.html




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

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