Показать сообщение отдельно
Старый 13.06.2013, 19:42   #1  
iCloud is offline
iCloud
Enjoy!
Аватар для iCloud
MCP
Злыдни
 
195 / 112 (4) +++++
Регистрация: 06.03.2012
Помогите: COM и VT_DISPATCH
Всем привет! Постараюсь кратко.
Пишу оболочку для некого COM.
Сразу говорю - все пишу абсолютно правильно со всеми разрешениями.
Но столкнулся с такой ерундой, которую побороть не могу.
Есть Объект у которого метод который возвращает член Array.
Пример:
X++:
COM a;
COM b; //Класс в котором хранятся данные массива
a = b.Item(1);
После того как происходит присвоение, в отладчике в строке где статус инициализации пишется, имя класса заключается в кавычки и рядом возникает VT_DISPATCH.
Вот так: Name: a Value: "ArrayClass" VT_DISPATCH.
Должно быть: Name: a Value: ArrayClass.

Начал копать и мысли что не грамотно написан COM и еще, кидает постоянно на некое SafeArrayGetElement или GetDataSafeArray или еще как.. Подскажите че делать. Может кто сталкивался.


UPD. Если просто инициализирую класс, не методом присвоения, то все в порядке.
Upd2. Ну и в чем собственно ошибка-не могу обращаться к методам и свойствам объекта.

Последний раз редактировалось iCloud; 13.06.2013 в 20:07.