Hi Lihonggen and guys :
I need your strong support! Thanks in ahead !
When I compile and make .exe file , it always shows a window error "Type mismatch : array or user defined type expected"
#####################################################
第一步:
以下为我在模块module中声明的16个动态数组,分别代表了我们测试机的16个测试site。数组元素类型为Long型
Public CurrentSite1() As Long, CurrentSite2() As Long, CurrentSite3() As Long, CurrentSite4() As Long
Public CurrentSite5() As Long, CurrentSite6() As Long, CurrentSite7() As Long, CurrentSite8() As Long
Public CurrentSite9() As Long, CurrentSite10() As Long, CurrentSite11() As Long, CurrentSite12() As Long
Public CurrentSite13() As Long, CurrentSite14() As Long, CurrentSite15() As Long, CurrentSite16() As Long第二步:
对16个数组初始化:
ReDim CurrentSite1(1 To 2, 1 To BinCounter(1)): ReDim CurrentSite2(1 To 2, 1 To BinCounter(2))
ReDim CurrentSite3(1 To 2, 1 To BinCounter(3)): ReDim CurrentSite4(1 To 2, 1 To BinCounter(4))
ReDim CurrentSite5(1 To 2, 1 To BinCounter(5)): ReDim CurrentSite6(1 To 2, 1 To BinCounter(6))
ReDim CurrentSite7(1 To 2, 1 To BinCounter(7)): ReDim CurrentSite8(1 To 2, 1 To BinCounter(8))
ReDim CurrentSite9(1 To 2, 1 To BinCounter(9)): ReDim CurrentSite10(1 To 2, 1 To BinCounter(10))
ReDim CurrentSite11(1 To 2, 1 To BinCounter(11)): ReDim CurrentSite12(1 To 2, 1 To BinCounter(12))
ReDim CurrentSite13(1 To 2, 1 To BinCounter(13)): ReDim CurrentSite14(1 To 2, 1 To BinCounter(14))
ReDim CurrentSite15(1 To 2, 1 To BinCounter(15)): ReDim CurrentSite16(1 To 2, 1 To BinCounter(16))
CurrentSite1(1, 1) = 1: CurrentSite1(2, 1) = 0: CurrentSite2(1, 1) = 1: CurrentSite2(2, 1) = 0
CurrentSite3(1, 1) = 1: CurrentSite3(2, 1) = 0: CurrentSite4(1, 1) = 1: CurrentSite4(2, 1) = 0
CurrentSite5(1, 1) = 1: CurrentSite5(2, 1) = 0: CurrentSite6(1, 1) = 1: CurrentSite6(2, 1) = 0
CurrentSite7(1, 1) = 1: CurrentSite7(2, 1) = 0: CurrentSite8(1, 1) = 1: CurrentSite8(2, 1) = 0
CurrentSite9(1, 1) = 1: CurrentSite9(2, 1) = 0: CurrentSite10(1, 1) = 1: CurrentSite10(2, 1) = 0
CurrentSite11(1, 1) = 1: CurrentSite11(2, 1) = 0: CurrentSite12(1, 1) = 1: CurrentSite12(2, 1) = 0
CurrentSite13(1, 1) = 1: CurrentSite13(2, 1) = 0: CurrentSite14(1, 1) = 1: CurrentSite14(2, 1) = 0
CurrentSite15(1, 1) = 1: CurrentSite15(2, 1) = 0: CurrentSite16(1, 1) = 1: CurrentSite16(2, 1) = 0第三步:我声明了CS()数组来存储这些数组,使得数组的元素是数组同时,我生明了如下的一个动态数组 CS(),用来存储上面16个数组【数组CS()的元素还是数组,不知道CS()的元素类型是什么?】
Public CS() As Variant
注释:因为没法判断数组CS()的元素的数据类型是什么,我的本意就想用变体variant来声明。
接着,我在我的初始化函数中做了如下初始化:
ReDim CS(1 To 16)
CS(1) = CurrentSite1: CS(2) = CurrentSite2: CS(3) = CurrentSite3: CS(4) = CurrentSite4: CS(5) = CurrentSite5: CS(6) = CurrentSite6: CS(7) = CurrentSite7: CS(8) = CurrentSite8
CS(9) = CurrentSite9: CS(10) = CurrentSite10: CS(11) = CurrentSite11: CS(12) = CurrentSite12: CS(13) = CurrentSite13: CS(14) = CurrentSite14: CS(15) = CurrentSite15: CS(16) = CurrentSite16然后,我在dll文件里写了一个函数
Public Function UpdateArrayWhenTestComplete(ByRef CurrentSite() As Long, ByVal SoftBin As Long, ByRef IsSortIn As Boolean)然后我在调用时: Call UpdateArrayWhenTestComplete(CS(1), 8, True)编译告诉我CS(1)类型不匹配?为什么?高手帮我解决一下问题吧?万分感谢了!但如果我写成 Call UpdateArrayWhenTestComplete(CurrentSite1, 8, True) 编译就通过,为什么呢? CS(1)不就是 CurrentSite1吗?????
谢谢
I need your strong support! Thanks in ahead !
When I compile and make .exe file , it always shows a window error "Type mismatch : array or user defined type expected"
#####################################################
第一步:
以下为我在模块module中声明的16个动态数组,分别代表了我们测试机的16个测试site。数组元素类型为Long型
Public CurrentSite1() As Long, CurrentSite2() As Long, CurrentSite3() As Long, CurrentSite4() As Long
Public CurrentSite5() As Long, CurrentSite6() As Long, CurrentSite7() As Long, CurrentSite8() As Long
Public CurrentSite9() As Long, CurrentSite10() As Long, CurrentSite11() As Long, CurrentSite12() As Long
Public CurrentSite13() As Long, CurrentSite14() As Long, CurrentSite15() As Long, CurrentSite16() As Long第二步:
对16个数组初始化:
ReDim CurrentSite1(1 To 2, 1 To BinCounter(1)): ReDim CurrentSite2(1 To 2, 1 To BinCounter(2))
ReDim CurrentSite3(1 To 2, 1 To BinCounter(3)): ReDim CurrentSite4(1 To 2, 1 To BinCounter(4))
ReDim CurrentSite5(1 To 2, 1 To BinCounter(5)): ReDim CurrentSite6(1 To 2, 1 To BinCounter(6))
ReDim CurrentSite7(1 To 2, 1 To BinCounter(7)): ReDim CurrentSite8(1 To 2, 1 To BinCounter(8))
ReDim CurrentSite9(1 To 2, 1 To BinCounter(9)): ReDim CurrentSite10(1 To 2, 1 To BinCounter(10))
ReDim CurrentSite11(1 To 2, 1 To BinCounter(11)): ReDim CurrentSite12(1 To 2, 1 To BinCounter(12))
ReDim CurrentSite13(1 To 2, 1 To BinCounter(13)): ReDim CurrentSite14(1 To 2, 1 To BinCounter(14))
ReDim CurrentSite15(1 To 2, 1 To BinCounter(15)): ReDim CurrentSite16(1 To 2, 1 To BinCounter(16))
CurrentSite1(1, 1) = 1: CurrentSite1(2, 1) = 0: CurrentSite2(1, 1) = 1: CurrentSite2(2, 1) = 0
CurrentSite3(1, 1) = 1: CurrentSite3(2, 1) = 0: CurrentSite4(1, 1) = 1: CurrentSite4(2, 1) = 0
CurrentSite5(1, 1) = 1: CurrentSite5(2, 1) = 0: CurrentSite6(1, 1) = 1: CurrentSite6(2, 1) = 0
CurrentSite7(1, 1) = 1: CurrentSite7(2, 1) = 0: CurrentSite8(1, 1) = 1: CurrentSite8(2, 1) = 0
CurrentSite9(1, 1) = 1: CurrentSite9(2, 1) = 0: CurrentSite10(1, 1) = 1: CurrentSite10(2, 1) = 0
CurrentSite11(1, 1) = 1: CurrentSite11(2, 1) = 0: CurrentSite12(1, 1) = 1: CurrentSite12(2, 1) = 0
CurrentSite13(1, 1) = 1: CurrentSite13(2, 1) = 0: CurrentSite14(1, 1) = 1: CurrentSite14(2, 1) = 0
CurrentSite15(1, 1) = 1: CurrentSite15(2, 1) = 0: CurrentSite16(1, 1) = 1: CurrentSite16(2, 1) = 0第三步:我声明了CS()数组来存储这些数组,使得数组的元素是数组同时,我生明了如下的一个动态数组 CS(),用来存储上面16个数组【数组CS()的元素还是数组,不知道CS()的元素类型是什么?】
Public CS() As Variant
注释:因为没法判断数组CS()的元素的数据类型是什么,我的本意就想用变体variant来声明。
接着,我在我的初始化函数中做了如下初始化:
ReDim CS(1 To 16)
CS(1) = CurrentSite1: CS(2) = CurrentSite2: CS(3) = CurrentSite3: CS(4) = CurrentSite4: CS(5) = CurrentSite5: CS(6) = CurrentSite6: CS(7) = CurrentSite7: CS(8) = CurrentSite8
CS(9) = CurrentSite9: CS(10) = CurrentSite10: CS(11) = CurrentSite11: CS(12) = CurrentSite12: CS(13) = CurrentSite13: CS(14) = CurrentSite14: CS(15) = CurrentSite15: CS(16) = CurrentSite16然后,我在dll文件里写了一个函数
Public Function UpdateArrayWhenTestComplete(ByRef CurrentSite() As Long, ByVal SoftBin As Long, ByRef IsSortIn As Boolean)然后我在调用时: Call UpdateArrayWhenTestComplete(CS(1), 8, True)编译告诉我CS(1)类型不匹配?为什么?高手帮我解决一下问题吧?万分感谢了!但如果我写成 Call UpdateArrayWhenTestComplete(CurrentSite1, 8, True) 编译就通过,为什么呢? CS(1)不就是 CurrentSite1吗?????
谢谢
解决方案 »
- 在过程中怎样引用TextBox?
- 怎样控制一组LED(第三方控件)闪两下后保持全亮
- 在VB中怎么才能灵活的操作 Illustrator
- 如何取得WebBrowser里面的某个图片(如验证码)的内容或者如何复制这个验证码图片到PictureBox
- 在多选时,怎样使Listview不自动选择默认选项
- 进销存系统之间关系如何?
- VB调用VC写的API,编译成EXE运行正常,在调试环境中却无法调用!
- 如何在程序中,读取一个word文档的内容。请大家提供一个可行的方法!谢谢了
- VB 如何让一个GIF动画在一个LINE数组里移动 由键盘控制
- 安装vb程序的win98系统不能正常,提示连接无效快帮我!!!!!!
- 在VB6中我的程序添加了一个类模块,然后运行的时候,弹出对话框“对象变量或with块变量未设置”
- 求助CSDN: "数组的数组 " array(i)(2,3) ----总是报错: Type mismatch : array or user defined
CS(1) = CurrentSite1: CS(2) = CurrentSite2: CS(3) = CurrentSite3: CS(4) = CurrentSite4: CS(5) = CurrentSite5: CS(6) = CurrentSite6: CS(7) = CurrentSite7: CS(8) = CurrentSite8
CS(9) = CurrentSite9: CS(10) = CurrentSite10: CS(11) = CurrentSite11: CS(12) = CurrentSite12: CS(13) = CurrentSite13: CS(14) = CurrentSite14: CS(15) = CurrentSite15: CS(16) = CurrentSite16 这一段改成:dim cs as new collection
cs.add CurrentSite1,"CurrentSite1"
cs.add CurrentSite2,"CurrentSite2"
'…………
cs.add CurrentSite16,"CurrentSite16"调用的时候用:
Call UpdateArrayWhenTestComplete(CS.item(1), 8, True)
或者
Call UpdateArrayWhenTestComplete(CS.item("CurrentSite1"), 8, True)
'定义
Type CurrentSite
Site() As Long
End Type
Public CS() As CurrentSite'初始化
ReDim CS(1 To 16)
ReDim CS(1).Site(1 To 2, 1 To BinCounter(1)): ReDim CS(2).Site(1 To 2, 1 To BinCounter(2))
ReDim CS(3).Site(1 To 2, 1 To BinCounter(3)): ReDim CS(4).Site(1 To 2, 1 To BinCounter(4))
ReDim CS(5).Site(1 To 2, 1 To BinCounter(5)): ReDim CS(6).Site(1 To 2, 1 To BinCounter(6))
ReDim CS(7).Site(1 To 2, 1 To BinCounter(7)): ReDim CS(8).Site(1 To 2, 1 To BinCounter(8))
ReDim CS(9).Site(1 To 2, 1 To BinCounter(9)): ReDim CS(10).Site(1 To 2, 1 To BinCounter(10))
ReDim CS(11).Site(1 To 2, 1 To BinCounter(11)): ReDim CS(12).Site(1 To 2, 1 To BinCounter(12))
ReDim CS(13).Site(1 To 2, 1 To BinCounter(13)): ReDim CS(14).Site(1 To 2, 1 To BinCounter(14))
ReDim CS(15).Site(1 To 2, 1 To BinCounter(15)): ReDim CS(16).Site(1 To 2, 1 To BinCounter(16))
CS(1).Site(1, 1) = 1: CS(1).Site(2, 1) = 0: CS(2).Site(1, 1) = 1: CS(2).Site(2, 1) = 0
CS(3).Site(1, 1) = 1: CS(3).Site(2, 1) = 0: CS(4).Site(1, 1) = 1: CS(4).Site(2, 1) = 0
CS(5).Site(1, 1) = 1: CS(5).Site(2, 1) = 0: CS(6).Site(1, 1) = 1: CS(6).Site(2, 1) = 0
CS(7).Site(1, 1) = 1: CS(7).Site(2, 1) = 0: CS(8).Site(1, 1) = 1: CS(8).Site(2, 1) = 0
CS(9).Site(1, 1) = 1: CS(9).Site(2, 1) = 0: CS(10).Site(1, 1) = 1: CS(10).Site(2, 1) = 0
CS(11).Site(1, 1) = 1: CS(11).Site(2, 1) = 0: CS(12).Site(1, 1) = 1: CS(12).Site(2, 1) = 0
CS(13).Site(1, 1) = 1: CS(13).Site(2, 1) = 0: CS(14).Site(1, 1) = 1: CS(14).Site(2, 1) = 0
CS(15).Site(1, 1) = 1: CS(15).Site(2, 1) = 0: CS(16).Site(1, 1) = 1: CS(16).Site(2, 1) = 0'调用
Call UpdateArrayWhenTestComplete(CS(1).Site, 8, True)
dim lng() as long
lng=CS(1)
Call UpdateArrayWhenTestComplete(lng, 8, True)