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吗?????
谢谢
解决方案 »
- 弱智问题,汗...
- 麻烦各位推荐一个好用而简单的VB打印报表控件
- 如何罗列“任务管理器”里所有的“应用程序”
- 如何选择指定的打印机打印
- 关于小于1的小数显示的问题!!
- 请教如何在一个数据库中将一个表中的数据按某种顺序导入到另个表中?
- 为什么"她"Girl1983(长发女生)是名人?最近是不是发生了什么事情?
- 关于写文件问题,十万火急,参与有分!!!!
- vb实时错误:3704 数据库对象关闭时不允许操作
- 100分请教关于Api函数BitBlt的问题
- 在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)