VB和VC联合编程的问题
VB和VC联合编程的问题
楼主pantian(香草园主)2003-06-30 13:44:41 在 VB / 基础类 提问 在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中的指针将这两个数组中的内容进行副值和改变,为什么执行了之后还是无法改变呢,请教各位了?
问题点数:0、回复次数:4Top
1 楼hiker_lx()回复于 2003-06-30 14:02:45 得分 0
在VB中申明该DLL时可以使用ByRef来申明他的参数。Top
2 楼wangbm()回复于 2003-06-30 14:07:23 得分 0
可以到类里面去调试。Top
3 楼icansaymyabc(学习与进步)回复于 2003-06-30 14:26:46 得分 0
STDMETHODIMP Ccla_Main::fun_Comtest_Pack(byte &dat_Input,byte &dat_Buf,short &len_Input)
Top
4 楼pantian(香草园主)回复于 2003-06-30 14:27:17 得分 0
什么意思,能说得具体些吗?Top
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的ReadyGo.com.cn
