VB调用C函数时数组传参的问题
该文章根据 CC-BY-4.0 协议发表,转载请遵循该协议。
本文地址:https://fenying.net/post/2013/06/23/pass-array-from-vb-to-c/
其实这是对《VC++写DLL给VB使用》一文的补充,网易不让编辑太古老的文章……
今天有人找我问关于VB调用DLL里函数的问题,该函数如下:
1int __stdcall func1(char *pStr, mystruct mst[]);
在VB里声明如下:
1Private Declare Function func1 Lib "dll1.dll" (ByRef aStr As String, ByRef pMST As mystruct) As Long
调用方式为:
1Dim MSTs(100) As mystruct
2MsgBox func1(str1, MSTs(0))
这里解释下,ByRef MSTs(0)
其实就是取数组首地址,因此就是数组的引用传递了。
comments powered by Disqus