Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Запуск COM-объекта
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Ввод/Вывод, Сеть. Межпроцессное взаимодействие
mezmay
Есть на Delphi код:
ModUpAPK12:=CreateOleObject('KlntAPK_12.UAPK_12');
        
ModUpAPK12.SetOpt('ÑÍÎ', 'ÑÍÎ', Form1.Handle,
                        1, Form1.Left+Form1.Width,
                        Form1.Top, 0, 1, 2, 'PC_NAME', 'SRVAPK12.UAPK12R', 235,
                        1, 1, 1);


Преписываю на Qt:

    m_apk = new QAxObject("KlntAPK_12.UAPK_12");

    QList<QVariant> vars;
    vars << QVariant::fromValue(QString::fromLocal8Bit("СНО"))
        << QVariant::fromValue(QString::fromLocal8Bit("СНО"))
        << QVariant::fromValue(winId())
        << QVariant::fromValue(int(0))
        << QVariant::fromValue(int(0))
        << QVariant::fromValue(int(0))
        << QVariant::fromValue(int(0))
        << QVariant::fromValue(int(1))
        << QVariant::fromValue(int(2))
        << QVariant::fromValue(QString::fromLocal8Bit("BERSHOV-I7"))
        << QVariant::fromValue(QString::fromLocal8Bit("SRVAPK12.UAPK12R"))
        << QVariant::fromValue(int(235))
        << QVariant::fromValue(int(1))
        << QVariant::fromValue(int(1))
        << QVariant::fromValue(int(1));
    m_apk->dynamicCall(
        "SetOpt(char *, char *, HWND, int, int, int, int, int, int, char *, char *, int, int, int, int)",
        vars);


Ругается на winId():
Цитата
Error 1 error C2039: 'qt_metatype_id' : is not a member of 'QMetaTypeId<T>' c:\qt\4.6.3\src\corelib\kernel\qmetatype.h 200


Исходников самого COM-объекта нету, задача переписать с Delphi на С++ по той информации что есть...
mezmay
короче вопрос сводится к следующему: как вызвать функцию СОМ объекта с параметром HWND?
BRE
m_apk = new QAxObject("KlntAPK_12.UAPK_12");
QString docContent = m_apk->generateDocumentation();

Сохрани docContent в файл и увидишь как Qt предлагает вызывать этот метод.
mezmay
Решил вопрос с помощью генерации класса с помощью dumpcpp
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.