在VC中用ATL作了一个DLL,在其中声明了一个函数如下
STDMETHODIMP Ccla_Main::fun_Comtest_Pack(byte dat_Input,byte dat_Buf,short len_Input)
{
// TODO: Add your implementation code here
// TODO: Add your implementation code here//此函数将以dat_Input的地址为首地址的len_Input为长度的byte变量付给以dat_Buf的地址为首地址的byte型数组
return S_OK;

在VB中调用的代码如下:
Dim datbuf(1 To 3) As Byte//声明一个容量为3的字节数组
Dim buf(1 To 7) As Byte//声明一个容量为7的字节数组
Call com_drv.fun_Comtest_Pack(datbuf(1), buf(1), 3)//com_drv是部件的名称在VB中执行了此代码后发现DLL中的方法并不能改变buf数组中的值,为什么?
此函数的意思是在VB中声明两个字节数组,调用DLL中的方法fun_Comtest_Pack
通过VC中的指针将这两个数组中的内容进行副值和改变,为什么执行了之后还是无法改变呢,请教各位了?