Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как передать в СОМ массив данных

1.9K
14 февраля 2003 года
Mazilla
12 / / 10.10.2002
Суть в следующем: есть ActiveX, который используется в Web приложении. Надо передать в него массив данных, ActiveX должен его заполнить и вернуть клиенту. Вызов метода поисходит из ActiveX. Например так:

Dim LongArray(5)
LongArray(0) = CLng(0)
MyActiveX.ArrayF(LongArray)

VBScript по идее должен запаковать массив в SAFEARRAY, что, вроде так и происходит.
В функции ArrayF я должен был бы увидеть тип параметра примерно такой VT_ARRAY | VT_...
Но это не так. Тип параметра не определен (VStudio показывает ???). Попытки работать с тем, что есть, оканчиваются исключением. ArrayF описана так :
HRESULT ArrayF([in]VARIANT * pArray)
Что делать?
Еще непонятно следующее:
Если вызвать такую функцию
HRESULT ArrayF2([in]VARIANT Array)
то тип параметра получается VT_VARIANT|VT_BYREF, несмотря на то, что в клиенте елементы массива инициализировались строками (должно быть VT_BSTR|VT_BYREF).
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог