我在函数库中声明了一个二维数组,并将其与测试关联。在测试的action1中,我尝试使用“ erase”语句清除数组。
我的代码-
在函数库中,
Dim strVerifyAry(25,6)
Run Code Online (Sandbox Code Playgroud)
在行动1中,
erase strVerifyAry
Run Code Online (Sandbox Code Playgroud)
错误信息
Run Error - Type mismatch: 'Erase'
Run Code Online (Sandbox Code Playgroud)
如何清除此数组的内容?
我不完全明白为什么,但你可以创建一个像
Public Sub DoErase (byRef Ary)
Erase Ary
End Sub
Run Code Online (Sandbox Code Playgroud)
在库中,并从操作中调用它,如下所示:
DoErase StrVerifyAry
Run Code Online (Sandbox Code Playgroud)
那行得通。
更新:不,没有。数组已成功传递给DoErase,并且DoErase调用工作正常,但之后的测试仍然可以引用Erase应该删除的数组元素。
如果测试声明了数组,则它可以正常工作(Erase擦除元素)。
这很奇怪,可能与函数库中奇怪的作用域有关。
如果您发现这里发生了什么事,请告诉我们......