Ошибка ColdFusion COM - PullRequest
       6

Ошибка ColdFusion COM

0 голосов
/ 09 ноября 2009

Я обновляюсь с CF4.5 до CF8.При вызовах COM DLL, которые раньше работали в версии 4.5, теперь возникает ошибка «Сложные типы объектов не могут быть преобразованы в простые значения ...».COM-объект имеет несколько массивов, определенных как выходные параметры.Эти переменные определяются как массивы в Coldfusion.Любая идея относительно того, что изменилось в CF, чтобы вызвать эту проблему и что я могу сделать, чтобы решить ее?

РЕДАКТИРОВАТЬ:

Это код CF:

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

Код VB ActiveX DLL:

Public Function AddNumbers(number1 As Integer, ByRef Arg2() As String) As String
  AddNumbers = "hello"
End Function

1 Ответ

0 голосов
/ 09 ноября 2009

Я подозреваю, что где-то массив обрабатывается как число или строка. Без примеров кода будет трудно оказать дополнительную помощь. Возможно, вы захотите проверить обработку индекса при доступе к позициям в массиве.

UPDATE

Попробуйте изменить

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

К

answer = ComObject.Test(1,Arg2);

OR

answer = ComObject.Test(1,arrayToList(Arg2) );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...