ColdFusion COM错误

ColdFusion COM错误,com,coldfusion,Com,Coldfusion,我正在从CF4.5升级到CF8。调用用于在版本4.5中工作的COM dll现在抛出“复杂对象类型无法转换为简单值…”错误。COM对象有几个数组定义为输出参数。这些变量在Coldfusion中定义为数组。您知道CF中发生了什么变化导致了这个问题吗?我能做些什么来解决这个问题 编辑: 这是CF代码: Arg2 = ArrayNew(1); answer = ComObject.Test(1,"Arg2"); <------This line throws the error 我怀疑数

我正在从CF4.5升级到CF8。调用用于在版本4.5中工作的COM dll现在抛出“复杂对象类型无法转换为简单值…”错误。COM对象有几个数组定义为输出参数。这些变量在Coldfusion中定义为数组。您知道CF中发生了什么变化导致了这个问题吗?我能做些什么来解决这个问题

编辑:

这是CF代码:

Arg2 = ArrayNew(1);
answer = ComObject.Test(1,"Arg2");     <------This line throws the error

我怀疑数组在某个地方被视为数字或字符串。如果没有代码示例,将很难提供更多的帮助。在访问数组中的位置时,可能需要检查索引的处理方式

更新

试着改变

answer = ComObject.Test(1,"Arg2");


请显示引发错误的代码。感谢您的建议。我以前试过第一个。引发的错误是:java.lang.ClassCastException:coldfusion.runtime.Array无法转换为java.lang.String。您的第二个建议引发错误:coldfusion.runtime.java.MethodSelectionException:找不到AddNumbers方法。。可能是因为方法签名未被识别。在创建comobject变量之后,我也转储了它,这是结果(一些行未写入):AddNumbers([out,in]I2,[out,in]BSTR,[out,retval]BSTR)注意,第二个参数没有被识别为数组。
answer = ComObject.Test(1,"Arg2");
answer = ComObject.Test(1,Arg2);
answer = ComObject.Test(1,arrayToList(Arg2) );