有关DLL的数组传递问题
用VB调用VC的一个DLL,VB要传进去一个Byte的数组,但是在VC里面应该如何接收,VB那里怎么传进去这个参数? 问题点数:20、回复次数:5Top
1 楼halk(不当老大已经很久了)回复于 2004-05-03 16:19:24 得分 0
用指针接收。为了保险可以再传递一个数组大小的参量。Top
2 楼unknow_123(不懂)回复于 2004-05-06 23:30:35 得分 0
1. unsigned char const lgRdEDKey[16] = "1$2@3Uk4&R53s6l7";这么写有什么错误吗?
2. unsigned char *mKey;
mKey=lgRdEDKey;
这样为什么不可以呢?
Top
3 楼halk(不当老大已经很久了)回复于 2004-05-06 23:59:16 得分 15
1. 这样做可以通过编译,但很可能造成缓冲区溢出。请这样写:
unsigned char const lgRdEDKey[] = "1$2@3Uk4&R53s6l7";
2. 注意保持类型的一致。
unsigned char const *mKey;
mKey=lgRdEDKey;
Top
4 楼unknow_123(不懂)回复于 2004-05-09 19:23:13 得分 0
先谢谢halk(夜风),另外还想在请教一个问题:
1. 我想在DLL里面做一个定时器类似于Timer,我该怎么做,要注意哪些?
2. 由于我在Dialog里用过Timer,所以我想做一个继承类,然后用Dialog的OnTimer函数,
不知道这是否可行;Top
5 楼jiangh_79_1(微星)回复于 2004-05-09 19:43:21 得分 5
假设vc得DLL中有导出函数
_stdcall void test(BYTE *paraArray)
{
................
}
vb中传入数组得方法为
申明:...............test(paraArray as Any)
调用函数得代码:
...........
Dim array(100) as byte
...................
test(array(0)) '就把数组array传入了
............
Top




