用VB调用VC的一个DLL,VB要传进去一个Byte的数组,但是在VC里面应该如何接收,VB那里怎么传进去这个参数?

解决方案 »

  1.   

    1. unsigned char const lgRdEDKey[16] = "1$2@3Uk4&R53s6l7";这么写有什么错误吗?
    2. unsigned char *mKey;
       mKey=lgRdEDKey;
       这样为什么不可以呢?
      

  2.   

    1. 这样做可以通过编译,但很可能造成缓冲区溢出。请这样写:
       unsigned char const lgRdEDKey[] = "1$2@3Uk4&R53s6l7";2. 注意保持类型的一致。
       unsigned char const *mKey;
       mKey=lgRdEDKey;
      

  3.   

    先谢谢halk(夜风),另外还想在请教一个问题:
       1. 我想在DLL里面做一个定时器类似于Timer,我该怎么做,要注意哪些?
       2. 由于我在Dialog里用过Timer,所以我想做一个继承类,然后用Dialog的OnTimer函数,
          不知道这是否可行;
      

  4.   

    假设vc得DLL中有导出函数
    _stdcall void test(BYTE *paraArray)
    {
      ................
    }vb中传入数组得方法为
    申明:...............test(paraArray as Any)
    调用函数得代码:
    ...........
    Dim array(100) as byte
    ...................
    test(array(0)) '就把数组array传入了
    ............