vba调用c++的dll时,参数是指针数组,无法匹配.求助!
c++代码:long functionA (class a, struct1 *IDINFO, struct2 * NameINFO)
{
...
a->add(IDINFO,NameINFO);
...
}
IDINF是入力的,NameINFO是出力的,主要问题是NameINFO这个结构体里有数组指针
struce NameINFO
{
wchar * STR[11]
long num
}
VBA代码:
Private Declare Function functionA Lib "functionA.dll" (ByVal objptr As Long, ByRef ID As IDINFO, ByRef Name As NameINFO) As Long
在vba中定义了这个结构体
Private Type NameINFO
str(1 To 11) As String
num As Long
End Type
然后用vba调用这个函数后,原来在c++里时,STR[1]到[11]里面是放的字符串,如
STR[1]是"我们"
STR[1]是"agd"
....
可是vba出来后,值感觉都只有2个字符了
STR[1]是"w."
STR[1]是"a."
....
感觉应该是vba接口这个函数时,结构体定义时的类型和c++的不匹配吧
但不知道则么改
请教高手,急!!