Russian Qt Forum
Ноябрь 22, 2024, 23:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с ActiveX  (Прочитано 5357 раз)
RankoR
Гость
« : Январь 15, 2010, 21:13 »

Здравствуйте. Не первый день мучаюсь с такой проблемой
Есть активИкс-сервер. Использую его в QAxWidget

Код:
axObj = new QAxWidget;
axObj ->setControl("<GUID>");

С этим проблем нет. У сервера есть метод А() (со своим GUID'ом), и у него, в свою очередь, есть метод B(). В делфи я делал так: Object.A.B;
Пытаюсь в Qt:
qDebug() << axObj->dynamicCall("A().B()");
В ответ получаю сообщение о несуществовании метода А()
qDebug() << axObj->dynamicCall("A()"); 
А вот это прекрасно работает, и возвращает указатель на Dispatch

Вопрос: Как мне вызвать метод В() ?

Заранее спасибо.
Записан
Dendy
Гость
« Ответ #1 : Январь 15, 2010, 21:27 »

Прикастировать результат вызова A() к QAxObject и потом вызвать B()?
Записан
RankoR
Гость
« Ответ #2 : Январь 15, 2010, 21:34 »

Поподробнее можно, если не трудно?
Записан
Dendy
Гость
« Ответ #3 : Январь 15, 2010, 21:39 »

Что пишет qDebug() << axObj->dynamicCall("A()"); ?
Записан
RankoR
Гость
« Ответ #4 : Январь 15, 2010, 21:55 »

QVariant(IDispatch*, )
Записан
Dendy
Гость
« Ответ #5 : Январь 15, 2010, 22:48 »

С ActiveX я работал мало, сложно сказать. Попробуйте как-нибудь дёрнуть из этого IDispatch метод B().
Записан
RankoR
Гость
« Ответ #6 : Январь 15, 2010, 22:58 »

Спасибо, попробую =)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.051 секунд. Запросов: 21.