QAxWidget: undefined reference

Alles rund um die Programmierung mit Qt
Antworten
univeda
Beiträge: 11
Registriert: 27. Juni 2009 16:31

QAxWidget: undefined reference

Beitrag von univeda »

Hallo.

Ich versuche ein ActiveX-Control in meine Anwendung einzubinden, dazu habe ich die QAxWidget-Header eingebunden:

mainwindow.h:

Code: Alles auswählen

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QtGui/QMainWindow>
#include <QDesktopServices>
#include <QMessageBox>
#include <QShortcut>
#include <QAxWidget>
#include <QtSql>
#include <QUrl>
in meiner mainwindow.cpp versuche in mein ActiveX-Control folgendermaßen einzubinden:

Code: Alles auswählen

rdpClient = new QAxWidget();
rdpClient->setControl(QString::fromUtf8("{3523c2fb-4031-44e4-9a3b-f1e94986ee7f}"));
Ich erhalte folgende Fehler beim Erstellen der Anwendung:

Code: Alles auswählen

undefined reference to `QAxWidget::QAxWidget(QWidget*, QFlags<Qt::WindowType>)'

undefined reference to `QAxBase::setControl(QString const&)'

collect2: ld returned 1 exit status
Was mache ich falsch bzw. wie binde ich mein Control richtig ein?

Ich verwende Qt 4.52 Opensource und mingw.
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

univeda
Beiträge: 11
Registriert: 27. Juni 2009 16:31

Beitrag von univeda »

Danke solarix, das war mein Fehler. Jetzt klappts.
univeda
Beiträge: 11
Registriert: 27. Juni 2009 16:31

Beitrag von univeda »

Noch eine weitere Frage:

Folgendes klappt bis auf die Passwortübergabe einwandfrei:

Code: Alles auswählen

rdpClient = new QAxWidget(ui->tab_3);
    rdpClient->setControl(QString::fromUtf8("{3523c2fb-4031-44e4-9a3b-f1e94986ee7f}"));
    rdpClient->show();
    rdpClient->dynamicCall("Server", "Servername");
    rdpClient->dynamicCall("UserName", "domain\\username");
    rdpClient->dynamicCall("AdvancedSettings2.ClearTextPassword", "Mein_geheimes_Passwort");
    rdpClient->dynamicCall("ColorDepth", "16");
    rdpClient->dynamicCall("DesktopWidth", "1024");
    rdpClient->dynamicCall("DesktopHeight", "768");
Dieser Teil wird ignoriert, das Passwort wird nicht übergeben:

Code: Alles auswählen

rdpClient->dynamicCall("AdvancedSettings2.ClearTextPassword", "Mein_geheimes_Passwort");
Folgenes Ergebnis liefert die Anwendungsausgabe im QtCreator:

Code: Alles auswählen

QAxBase::dynamicCallHelper: AdvancedSettings2.ClearTextPassword: No such property in {3523c2fb-4031-44e4-9a3b-f1e94986ee7f} [Microsoft RDP Client Control]
	Candidates are:
		AdvancedSettings
		AdvancedSettings2
		AdvancedSettings3
		AdvancedSettings4
		AdvancedSettings5
		AdvancedSettings6
		AdvancedSettings7
Wie greife ich in diesem Fall über dynamicCall richtig auf die Property Advanced2.ClearTextPassword zu?
Antworten