Visual Basic + COM + массивы, хреновина получается

Вопросы по программированию, не подходящие в другие разделы.

Модераторы: Naeel Maqsudov, C_O_D_E

Ответить
Sipulcator
Сообщения: 7
Зарегистрирован: 07 апр 2005, 04:07

Сегодня всю жопу просидел, бился над задачей. Как мне передать массив из VB в функцию COM-объекта?
Функция в IDL описана так:
HRESULT ConnectToSCManager([in] short size, [in, size_is(size)] wchar_t machineName[]);
Какие типы данных я туда не запихивал, какими только способами! Всегда ошибка Type missmatch. При самом хорошем расскладе удаётся передать только одну переменную, и то к ней прилипает какая-то вторая, неизвестно откуда взявшаяся. Т.е. пишу в параметр machineName число 48, сервер получает "0"(он же 48 ) и откуда-то взявшуюся букву "з". Помогите пожалуйста, а то я уже совсем затрахался, не знаю что делать!!! :cry:
Sipulcator
Сообщения: 7
Зарегистрирован: 07 апр 2005, 04:07

Чуть не забыл. Хорошо, чтобы этот массив читался из TextBox, т.е. был типом String. Я не знаю, может для этого надо тип в самой функции поменять?
Sipulcator
Сообщения: 7
Зарегистрирован: 07 апр 2005, 04:07

Всё, разобрался. BSTR и VARIANT решили проблему. Осторожно, тема закрывается!
Ответить