我定义了一个long型的动态数组,需要作为参数传递,private ll_comand() as longReDim ll_command(16)
'll_command(1) = 193
'll_command(2) = 0
'll_command(3) = 0
'll_command(4) = 0
'll_command(5) = 0
'll_command(6) = 0
'll_command(7) = 0
'll_command(8) = 0
'll_command(9) = 0
'll_command(10) = 0
'll_command(11) = 0
'll_command(12) = 0
'll_command(13) = 0
'll_command(14) = 0
'll_command(15) = 193
'll_command(16) = 232但这种赋值不能作为参数传递。

解决方案 »

  1.   

    redim 11comand(12)for i=1 to 12
    11comand(i)=i
    next i
      

  2.   

    如果数组的成员在传参的时候是知道明确的值,就像你的示例代码那样,你可以定义paramarray类型的参数(它是一个变长数组)然后一个一个参数传进去如果参数值是通过程序生成而且个数不定的话,我个人建议用collection,这是我能想出来的最简单的办法——虽然会丢失编译时刻类型检查的好处
      

  3.   

    谢谢大家的支持,我已经解决了,我使用了API的内存拷贝.
      

  4.   

    现在我遇到了一个新问题,我写的一个调用API的程序,用来打开串口.
    dim hand_c as long
    dim www as SECURITY_ATTRIBUTES
    dim qqqq
    dim b1 as string
    b1="COM1"hand_c = CreateFile(b1, GENERIC_WRITE Or GENERIC_READ, 0, www, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL Or FILE_FLAG_OVERLAPPED, qqqq)在两千操作系统中正常,但在98中失败,同样是32位的操作系统,会有不同的结果,让我很头痛.