Здравствуйте, Vi2, Вы писали:
Vi2>Здравствуйте, AAP, Вы писали:
AAP>>Он прекрасно вызывается из VBScript, следующий код -
AAP>>VarType(mq.SomeMethod("1/10/2005", "2/20/2005")) возвращает тип Array и тип эл-та — String (8200). Вызов UBound тоже возвращает корректное значение.
AAP>>Вопрос в следующем — как мне использовать полученный Array в VBScript? (попытка даже присвоить элемент этого массива локальной переменной приводит к Type Mismatch).
Vi2>VBScript имеет только один тип данных — Вариант. Поэтому Вариант, содержащий массив строк, он считает правильным, а вот элементы массива — уже нет, т.к. это не Варианты. Что делать — переписать сервер.
Vi2>MSDN: Visual Basic for Applications Features Not In VBScript
Vi2>Vi2>The following table lists Visual Basic for Applications Features not in VBScript.
Vi2>...
Vi2>Data Types || All intrinsic data types except Variant, Type...End Type
Спасибо за отвает — на самом деле, когда я из .NET метода возвратил коллекцию (ArrayList), она была смаршалирована в Object и я могу с ней работать в VBScript. Странно только почему не сработал маршалинг для массива, вндь я явно указал MarshalAs(UnmanagedType.IDispatch) — по идее он должен был создать прокси класс с IDispatch интерфейсом и соответственно в VBScript распознаваться как Object. Ну да ладно — это вопрос в другой форум.Еще раз спасибо за ответ.