VB6中的变量类型不匹配

VB6中的变量类型不匹配,vb6,variant,Vb6,Variant,我试图编写一个方法调用代码,该方法的第二个参数似乎是一个变量(无论如何,从对象浏览器中我可以看出) 在我正在处理的应用程序中,通常会这样称呼它:- Call StrangeMethod ("Fred", Array (1, 2, 3, 4)) Dim myArray as Variant myArray = Array(1, 2, 3, 4) Call StrangeMethod("Fred", myArray) 但当我试着这样称呼它时:- Call

我试图编写一个方法调用代码,该方法的第二个参数似乎是一个变量(无论如何,从对象浏览器中我可以看出)

在我正在处理的应用程序中,通常会这样称呼它:-

Call StrangeMethod ("Fred", Array (1, 2, 3, 4))
Dim myArray as Variant
myArray = Array(1, 2, 3, 4)
Call StrangeMethod("Fred", myArray)
但当我试着这样称呼它时:-

Call StrangeMethod ("Fred", Array (1, 2, 3, 4))
Dim myArray as Variant
myArray = Array(1, 2, 3, 4)
Call StrangeMethod("Fred", myArray)
调用失败,出现
类型不匹配
错误。我在这里做错了什么?我如何纠正它

编辑 根据注释中的要求,对象浏览器中的方法签名为:-

Strangemethod(Path As String, Commands)

不能责备。当我将第二个parm设置为Variant时,两个调用都可以正常工作。您是否可以编辑该问题以包含对象浏览器中的方法签名?您是否可以尝试将Dim myArray()作为变量这是C/C++impl中的一个错误。您正在使用的类的
IDispatch::Invoke
方法(不喜欢
VT_BYREF
标志)。
MSXML.XMLHTTPRequest
Send
方法存在相同的问题。尝试使用
调用奇怪的方法(“Fred”,CVar(myArray))
来去除
VT_BYREF
标志。@BrianMStafford,我已经按照你的建议编辑了这个问题,但其他建议都解决了这个问题。谢谢你的帮助。@JustinEzequiel解决了这个问题,谢谢。