Получение массива QAxObject* с помощью QAxObject::dynamicCall() |
Здравствуйте, гость ( Вход | Регистрация )
Получение массива QAxObject* с помощью QAxObject::dynamicCall() |
Алексей |
27.2.2011, 11:20
Сообщение
#1
|
Студент Группа: Участник Сообщений: 37 Регистрация: 29.8.2010 Пользователь №: 1988 Спасибо сказали: 0 раз(а) Репутация: 0 |
Программа SolidWorks. Согласно документации при вызове GetDocuments() мне должен быть возвращён массив COM объектов, с интерфейсом IModelDoc2 (с которыми, если работать по одиночкепроблем не возникает, например: QAxObject *activeDoc = sw->querySubObject("ActiveDoc");, кроме аналогичных проблем, с возвратом массива объектов подкомпонентов). Но при вызове dynamicCall("GetDocuments()"); мне возвращается QVariantList с 0 элементов.
пример
в результате получаем сообщение 0 - 3, те в возвращённом листе 0 элементов, тjulf? как сама программа утверждает что 3 В инструкции также нащёл: Цитата In the .NET framework, an object array can be used for any System.Object type like integer, double, etc., for system marshaling to a VARIANT automatically. However, the use of a DispatchWrapper object is required for non-standard objects like SolidWorks interfaces, which are manipulated through the IDispatch interface. Что я так понимаю как раз про мою ситуацию, когда возвращается массив интерфейсов от самой программы, и возможно мне нужен DispatchWrapper для qt. Вобщем посоветуйте, каким образом разрешить ситуацию и получить массив объектов |
|
|
Текстовая версия | Сейчас: 4.12.2024, 0:04 |