QAxBase Class
Die Klasse „QAxBase“ ist eine abstrakte Klasse, die eine API zur Initialisierung und zum Zugriff auf ein COM-Objekt bereitstellt. Mehr...
| Header: | #include <qaxbase.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS AxContainer) target_link_libraries(mytarget PRIVATE Qt6::AxContainer) |
| qmake: | QT += axcontainer |
| Vererbt an: |
Öffentliche Typen
Öffentliche Funktionen
| virtual | ~QAxBase() |
| QVariant | asVariant() const |
| ulong | classContext() const |
| void | clear() |
| QString | control() const |
| void | disableClassInfo() |
| void | disableEventSink() |
| void | disableMetaObject() |
| QVariant | dynamicCall(const char *function, const QVariant &var1 = QVariant(), const QVariant &var2 = QVariant(), const QVariant &var3 = QVariant(), const QVariant &var4 = QVariant(), const QVariant &var5 = QVariant(), const QVariant &var6 = QVariant(), const QVariant &var7 = QVariant(), const QVariant &var8 = QVariant()) |
| QVariant | dynamicCall(const char *function, QList<QVariant> &vars) |
| QString | generateDocumentation() |
| bool | isNull() const |
| QAxBase::PropertyBag | propertyBag() const |
| virtual bool | propertyWritable(const char *prop) const |
| long | queryInterface(const QUuid &uuid, void **iface) const |
| QAxObject * | querySubObject(const char *name, const QVariant &var1 = QVariant(), const QVariant &var2 = QVariant(), const QVariant &var3 = QVariant(), const QVariant &var4 = QVariant(), const QVariant &var5 = QVariant(), const QVariant &var6 = QVariant(), const QVariant &var7 = QVariant(), const QVariant &var8 = QVariant()) |
| QAxObject * | querySubObject(const char *name, QList<QVariant> &vars) |
| void | setClassContext(ulong classContext) |
| void | setPropertyBag(const QAxBase::PropertyBag &bag) |
| virtual void | setPropertyWritable(const char *prop, bool ok) |
| QStringList | verbs() const |
Geschützte Funktionen
| QAxBase() | |
| virtual bool | initialize(IUnknown **ptr) |
| bool | initializeActive(IUnknown **ptr) |
| bool | initializeFromFile(IUnknown **ptr) |
| bool | initializeLicensed(IUnknown **ptr) |
| bool | initializeRemote(IUnknown **ptr) |
Ausführliche Beschreibung
QAxBase ist eine abstrakte Klasse, die nicht direkt verwendet werden kann und über die Unterklassen „ QAxObject “ und „ QAxWidget “ instanziiert wird. Diese Klasse stellt die API bereit, um über ihre IUnknown-Implementierung direkt auf das COM-Objekt zuzugreifen. Wenn das COM-Objekt die IDispatch-Schnittstelle implementiert, stehen die Eigenschaften und Methoden dieses Objekts als Qt-Eigenschaften und -Slots zur Verfügung.
connect(buttonBack, SIGNAL(clicked()), webBrowser, SLOT(GoBack()));Eigenschaften, die durch die IDispatch-Implementierung des Objekts bereitgestellt werden, können über das vom Qt-Objektmodell bereitgestellte Eigenschaftssystem gelesen und geschrieben werden (beide Unterklassen sind ` QObject`s, sodass Sie ` QObject::setProperty()` und ` QObject::property()` verwenden können). Eigenschaften mit mehreren Parametern werden nicht unterstützt.
activeX->setProperty("text", "some text");
int value = activeX->property("value");Schreibfunktionen für Eigenschaften und andere Methoden, die durch die IDispatch-Implementierung des Objekts bereitgestellt werden, können direkt mit ` dynamicCall()` oder indirekt als mit einem Signal verbundene Slots aufgerufen werden.
webBrowser->dynamicCall("GoHome()");Vom COM-Objekt unterstützte ausgehende Ereignisse werden als Standard-Qt-Signale ausgesendet.
QAxBase konvertiert transparent zwischen COM-Datentypen und den entsprechenden Qt-Datentypen. Für einige COM-Typen gibt es keine entsprechende Qt-Datenstruktur.
Die unterstützten COM-Datentypen sind in der ersten Spalte der folgenden Tabelle aufgeführt. Die zweite Spalte enthält den Qt-Typ, der mit den QObject -Eigenschaftsfunktionen verwendet werden kann. Die dritte Spalte enthält den Qt-Typ, der im Prototyp der generierten Signale und Slots für Eingabeparameter verwendet wird, und die letzte Spalte enthält den Qt-Typ, der im Prototyp der Signale und Slots für Ausgabeparameter verwendet wird.
| COM-Typ | Qt-Eigenschaft | Eingabeparameter | Ausgangsparameter |
|---|---|---|---|
| VARIANT_BOOL | bool | bool | bool& |
| BSTR | QString | const QString& | QString& |
| char, short, int, long | int | int | int& |
| uchar, ushort, uint, ulong | uint | uint | uint& |
| float, double | double | double | double& |
| DATE | QDateTime | const QDateTime& | QDateTime& |
| CY | qlonglong | qlonglong | qlonglong& |
| OLE_COLOR | QColor | const QColor& | QColor& |
| SAFEARRAY(VARIANT) | QList<QVariant> | const QList<QVariant>& | QList<QVariant>& |
| SAFEARRAY(int), SAFEARRAY(double), SAFEARRAY(Date) | QList<QVariant> | const QList<QVariant>& | QList<QVariant>& |
| SAFEARRAY(BYTE) | QByteArray | const QByteArray& | QByteArray& |
| SAFEARRAY(BSTR) | QStringList | const QStringList& | QStringList& |
| VARIANT | typabhängig | const QVariant& | QVariant& |
| IFontDisp* | QFont | const QFont& | QFont& |
| IPictureDisp* | QPixmap | const QPixmap& | QPixmap& |
| IDispatch* | QAxObject* | QAxBase::asVariant() | QAxObject* (Rückgabewert) |
| IUnknown* | QAxObject* | QAxBase::asVariant() | QAxObject* (Rückgabewert) |
| SCODE, DECIMAL | nicht unterstützt | nicht unterstützt | nicht unterstützt |
| VARIANT* (seit Qt 4.5) | nicht unterstützt | QVariant& | QVariant& |
Unterstützt werden außerdem Aufzählungen und Typdefinitionen für unterstützte Typen.
Um die Methoden einer COM-Schnittstelle aufzurufen, die durch das folgende IDL beschrieben wird
dispinterface IControl
{
properties:
[id(1)] BSTR text;
[id(2)] IFontDisp *font;
methods:
[id(6)] void showColumn([in] int i);
[id(3)] bool addColumn([in] BSTR t);
[id(4)] int fillList([in, out] SAFEARRAY(VARIANT) *list);
[id(5)] IDispatch *item([in] int i);
};verwenden Sie die QAxBase-API wie folgt:
QAxObject object("<CLSID>");
QString text = object.property("text").toString();
object.setProperty("font", QFont("Times New Roman", 12));
connect(this, SIGNAL(clicked(int)), &object, SLOT(showColumn(int)));
bool ok = object.dynamicCall("addColumn(const QString&)", "Column 1").toBool();
QList<QVariant> varlist;
QList<QVariant> parameters;
parameters << QVariant(varlist);
int n = object.dynamicCall("fillList(QList<QVariant>&)", parameters).toInt();
QAxObject *item = object.querySubItem("item(int)", 5);Beachten Sie, dass die ` QList `, die das Objekt ausfüllen soll, als Element in der Parameterliste von ` QVariant`-Aufrufen angegeben werden muss.
Wenn Sie auf Eigenschaften zugreifen oder Parameter mit nicht unterstützten Datentypen übergeben müssen, müssen Sie direkt über die „ IDispatch “-Implementierung oder andere Schnittstellen auf das COM-Objekt zugreifen. Diese Schnittstellen können über ` queryInterface()` abgerufen werden.
IUnknown *iface = 0;
activeX->queryInterface(IID_IUnknown, (void**)&iface);
if (iface) {
// use the interface
iface->Release();
}Um die Definition der COM-Schnittstellen abzurufen, müssen Sie die Header-Dateien verwenden, die mit der gewünschten Komponente bereitgestellt werden. Einige Compiler können Typbibliotheken auch mithilfe der Compiler-Direktive #import importieren. In der Dokumentation der Komponente erfahren Sie, welche Typbibliotheken Sie importieren müssen und wie Sie diese verwenden.
Wenn Sie auf Ereignisse reagieren müssen, die Parameter mit nicht unterstützten Datentypen übergeben, können Sie das generische Signal verwenden, das die vom COM-Ereignis bereitgestellten Ereignisdaten übergibt.
Siehe auch QAxObject, QAxWidget, QAxScript und ActiveQt Framework.
Dokumentation zu Mitgliedstypen
[alias] QAxBase::PropertyBag
Ein „ QMap “ <QString,QVariant>, der Eigenschaften als Name-Wert-Paare speichern kann.
Dokumentation der Member-Funktionen
[protected] QAxBase::QAxBase()
Erstellt ein QAxBase-Objekt.
[virtual noexcept] QAxBase::~QAxBase()
Beendet das COM-Objekt und löscht das „ QAxBase “-Objekt.
Siehe auch clear().
QVariant QAxBase::asVariant() const
Gibt eine „ QVariant “ zurück, die das COM-Objekt umschließt. Die Variante kann dann beispielsweise als Parameter in der Funktion „ dynamicCall()“ verwendet werden.
ulong QAxBase::classContext() const
Gibt den Kontext zurück, in dem das ActiveX-Steuerelement ausgeführt wird (Standard: CLSCTX_SERVER).
Siehe auch „ setClassContext()“.
void QAxBase::clear()
Trennt die Verbindung zum COM-Objekt und löscht es.
Wenn Sie diese Funktion neu implementieren, müssen Sie auch den Destruktor neu implementieren, um clear() aufzurufen, und diese Implementierung am Ende Ihrer clear()-Funktion aufrufen.
QString QAxBase::control() const
Gibt das ActiveX-Steuerelement zurück.
void QAxBase::disableClassInfo()
Deaktiviert die Generierung von Klasseninformationen für diesen ActiveX-Container. Wenn Sie keine Klasseninformationen zum ActiveX-Steuerelement benötigen, verwenden Sie diese Funktion, um die Generierung von Metadaten zu beschleunigen.
Beachten Sie, dass diese Funktion unmittelbar nach der Erstellung des Objekts aufgerufen werden muss.
void QAxBase::disableEventSink()
Deaktiviert die Event-Sink-Implementierung für diesen ActiveX-Container. Wenn Sie nicht beabsichtigen, auf die Ereignisse des ActiveX-Steuerelements zu reagieren, verwenden Sie diese Funktion, um die Generierung des Metaobjekts zu beschleunigen.
Einige ActiveX-Steuerelemente können instabil sein, wenn sie mit einem Ereignis-Sink verbunden sind. Um OLE-Ereignisse zu empfangen, müssen Sie Standard-COM-Methoden verwenden, um Ihren eigenen Ereignis-Sink zu registrieren. Verwenden Sie ` queryInterface()``, um Zugriff auf das rohe COM-Objekt zu erhalten.
Beachten Sie, dass diese Funktion unmittelbar nach der Erstellung des Objekts aufgerufen werden sollte.
void QAxBase::disableMetaObject()
Deaktiviert die Erzeugung von Metaobjekten für diesen ActiveX-Container. Dadurch werden auch die Erzeugung von Ereignis-Sinks und Klasseninformationen deaktiviert. Wenn Sie nicht vorhaben, die Qt-Metaobjekt-Implementierung zu verwenden, rufen Sie diese Funktion auf, um die Instanziierung des Steuerelements zu beschleunigen. Sie können das Objekt weiterhin über ` dynamicCall()` aufrufen, jedoch stehen Signale, Slots und Eigenschaften über die APIs von ` QObject ` nicht zur Verfügung.
Einige ActiveX-Steuerelemente können bei der Verwendung mit OLE-Automatisierung instabil sein. Verwenden Sie Standard-COM-Methoden, um diese Steuerelemente über die von ` queryInterface()` bereitgestellten COM-Schnittstellen zu nutzen.
Beachten Sie, dass diese Funktion unmittelbar nach der Erstellung des Objekts aufgerufen werden muss.
QVariant QAxBase::dynamicCall(const char *function, const QVariant &var1 = QVariant(), const QVariant &var2 = QVariant(), const QVariant &var3 = QVariant(), const QVariant &var4 = QVariant(), const QVariant &var5 = QVariant(), const QVariant &var6 = QVariant(), const QVariant &var7 = QVariant(), const QVariant &var8 = QVariant())
Ruft die Methode „ function “ des COM-Objekts auf und übergibt dabei die Parameter „ var1 “, „ var1 “, „ var2 “, „ var3 “, „ var4 “, „ var5 “, „ var6 “, „ var7 “ und „ var8 “. Die Methode gibt den von der Methode zurückgegebenen Wert zurück oder einen ungültigen „ QVariant “, falls die Methode keinen Wert zurückgibt oder der Funktionsaufruf fehlgeschlagen ist.
Wenn „ function “ eine Methode des Objekts ist, muss die Zeichenkette als vollständiger Prototyp angegeben werden, beispielsweise so, wie sie in einem Aufruf von „ QObject::connect()“ geschrieben würde.
activeX->dynamicCall("Navigate(const QString&)", "www.qt-project.org");Alternativ kann eine Funktion aufgerufen werden, indem die in der Zeichenkette eingebetteten Parameter übergeben werden; so lässt sich die oben genannte Funktion beispielsweise auch wie folgt aufrufen:
activeX->dynamicCall("Navigate(\"www.qt-project.org\")");Alle Parameter werden als Zeichenfolgen übergeben; ob sie korrekt interpretiert werden, hängt vom Steuerelement ab, und dieser Ansatz ist langsamer als die Verwendung des Prototyps mit korrekt typisierten Parametern.
Wenn „ function “ eine Eigenschaft ist, muss die Zeichenkette den Namen der Eigenschaft enthalten. Der Setter der Eigenschaft wird aufgerufen, wenn „ var1 “ ein gültiges „ QVariant “ ist; andernfalls wird der Getter aufgerufen.
activeX->dynamicCall("Value", 5);
QString text = activeX->dynamicCall("Text").toString();Beachten Sie, dass das Abrufen und Setzen von Eigenschaften mit QObject::property() und QObject::setProperty() schneller ist.
dynamicCall() kann auch verwendet werden, um Objekte mit einem disabled metaobject -Wrapper aufzurufen, was die Leistung erheblich verbessern kann, insbesondere wenn während eines Automatisierungsprozesses viele verschiedene Objekte unterschiedlicher Typen aufgerufen werden. ActiveQt validiert dann jedoch keine Parameter.
Über `dynamicCall()` können nur Funktionen aufgerufen werden, deren Parameter oder Rückgabewerte Datentypen haben, die von ` QVariant` unterstützt werden. Eine Liste der unterstützten und nicht unterstützten Datentypen finden Sie in der Dokumentation zur Klasse ` QAxBase `. Wenn Sie Funktionen aufrufen möchten, deren Parameterliste nicht unterstützte Datentypen enthält, verwenden Sie ` queryInterface()` zum Abrufen der entsprechenden COM-Schnittstelle und rufen Sie die Funktion direkt auf.
IWebBrowser2 *webBrowser = 0;
activeX->queryInterface(IID_IWebBrowser2, (void **)&webBrowser);
if (webBrowser) {
webBrowser->Navigate2(pvarURL);
webBrowser->Release();
}Dies ist zudem effizienter.
QVariant QAxBase::dynamicCall(const char *function, QList<QVariant> &vars)
Ruft die Methode „ function “ des COM-Objekts auf, übergibt dabei die Parameter aus „ vars “ und gibt den von der Methode zurückgegebenen Wert zurück. Wenn die Methode keinen Wert zurückgibt oder der Funktionsaufruf fehlgeschlagen ist, gibt diese Funktion ein ungültiges „ QVariant “-Objekt zurück.
Die „ QVariant “-Objekte in „ vars “ werden aktualisiert, wenn die Methode Ausgangsparameter besitzt.
Dies ist eine überladene Funktion.
QString QAxBase::generateDocumentation()
Gibt eine Rich-Text-Zeichenkette mit der Dokumentation für das verpackte COM-Objekt zurück. Speichern Sie die Zeichenkette in einer HTML-Datei oder verwenden Sie sie beispielsweise in einem „ QTextBrowser “-Widget.
[virtual protected] bool QAxBase::initialize(IUnknown **ptr)
Diese virtuelle Funktion wird von `setControl()` aufgerufen und erstellt das angeforderte COM-Objekt. ` ptr ` wird auf die `IUnknown`-Implementierung des Objekts gesetzt. Die Funktion gibt `true` zurück, wenn die Initialisierung des Objekts erfolgreich war; andernfalls gibt die Funktion `false` zurück.
Die Standardimplementierung interpretiert die von ` control()` zurückgegebene Zeichenkette und ruft ` initializeRemote()`, ` initializeLicensed()` oder ` initializeActive()` auf, wenn die Zeichenkette mit den jeweiligen Mustern übereinstimmt. Ist ` control()` der Name einer vorhandenen Datei, wird ` initializeFromFile()` aufgerufen. Wenn kein Muster übereinstimmt oder die Remote- oder lizenzierte Initialisierung fehlschlägt, wird das Objekt direkt mit `CoCreateInstance` erstellt.
Einzelheiten zu den unterstützten Mustern finden Sie in der Dokumentation zur Eigenschaft „ QAxBaseWidget::control “.
Auf die in „ ptr “ zurückgegebene Schnittstelle darf genau einmal verwiesen werden, wenn diese Funktion zurückkehrt. Auf die beispielsweise von „CoCreateInstance“ bereitgestellte Schnittstelle wird bereits verwiesen, sodass kein erneuter Verweis erforderlich ist.
[protected] bool QAxBase::initializeActive(IUnknown **ptr)
Stellt eine Verbindung zu einer aktiven Instanz her, die auf dem aktuellen Rechner ausgeführt wird, und gibt die IUnknown-Schnittstelle des ausgeführten Objekts in ` ptr` zurück. Diese Funktion gibt bei Erfolg „true“ zurück, andernfalls „false“.
Diese Funktion wird von ` initialize()` aufgerufen, wenn die Steuerzeichenfolge die Teilzeichenfolge „}&“ enthält.
Siehe auch „ initialize()“.
[protected] bool QAxBase::initializeFromFile(IUnknown **ptr)
Erstellt das COM-Objekt, das den Dateinamen in der Eigenschaft „control“ verarbeitet, und gibt die Schnittstelle „IUnknown“ des Objekts in „ ptr “ zurück. Diese Funktion gibt bei Erfolg „true“ zurück, andernfalls „false“.
Diese Funktion wird von ` initialize()` aufgerufen, wenn die Steuerelementzeichenfolge der Name einer vorhandenen Datei ist.
Siehe auch ` initialize()`.
[protected] bool QAxBase::initializeLicensed(IUnknown **ptr)
Erstellt eine Instanz eines lizenzierten Steuerelements und gibt die IUnknown-Schnittstelle des Objekts in „ ptr “ zurück. Diese Funktion gibt bei Erfolg „true“ zurück, andernfalls „false“.
Diese Funktion wird von initialize() aufgerufen, wenn die Steuerelementzeichenfolge die Teilzeichenfolge „}:“ enthält. Der Lizenzschlüssel muss auf diese Teilzeichenfolge folgen.
Siehe auch ` initialize()`.
[protected] bool QAxBase::initializeRemote(IUnknown **ptr)
Erstellt die Instanz auf einem Remote-Server und gibt die IUnknown-Schnittstelle des Objekts in ` ptr` zurück. Diese Funktion gibt bei Erfolg „true“ zurück, andernfalls „false“.
Diese Funktion wird von ` initialize()` aufgerufen, wenn die Steuerzeichenfolge die Teilzeichenfolge „/{“ enthält. Die Informationen zum Remote-Rechner müssen vor der Teilzeichenfolge angegeben werden.
Siehe auch „ initialize()“.
bool QAxBase::isNull() const
Gibt „true“ zurück, wenn von diesem Wrapper kein COM-Objekt geladen wurde; andernfalls wird „false“ zurückgegeben.
Siehe auch „ control()“.
QAxBase::PropertyBag QAxBase::propertyBag() const
Gibt ein Name:Wert-Map aller vom COM-Objekt bereitgestellten Eigenschaften zurück.
Dies ist effizienter als das separate Abrufen mehrerer Eigenschaften, sofern das COM-Objekt Property-Bags unterstützt.
Warnung: Es ist nicht garantiert, dass die Property-Bag-Implementierung des COM-Objekts alle Eigenschaften zurückgibt oder dass die zurückgegebenen Eigenschaften mit denen übereinstimmen, die über die IDispatch-Schnittstelle verfügbar sind.
Siehe auch „ setPropertyBag()“.
[virtual] bool QAxBase::propertyWritable(const char *prop) const
Gibt „true“ zurück, wenn die Eigenschaft „ prop “ beschreibbar ist; andernfalls wird „false“ zurückgegeben. Standardmäßig sind alle Eigenschaften beschreibbar.
Warnung: Je nach Implementierung des Steuerelements wird diese Einstellung bei einigen Eigenschaften möglicherweise ignoriert.
Siehe auch „ setPropertyWritable()“, „ QAxBaseWidget::propertyChanged()“ und „ QAxBaseObject::propertyChanged()“.
long QAxBase::queryInterface(const QUuid &uuid, void **iface) const
Fordert die Schnittstelle „ uuid “ vom COM-Objekt an und setzt den Wert von „ iface “ auf die bereitgestellte Schnittstelle oder auf 0, falls die angeforderte Schnittstelle nicht bereitgestellt werden konnte.
Gibt das Ergebnis der QueryInterface-Implementierung des COM-Objekts zurück.
Siehe auch control().
QAxObject *QAxBase::querySubObject(const char *name, const QVariant &var1 = QVariant(), const QVariant &var2 = QVariant(), const QVariant &var3 = QVariant(), const QVariant &var4 = QVariant(), const QVariant &var5 = QVariant(), const QVariant &var6 = QVariant(), const QVariant &var7 = QVariant(), const QVariant &var8 = QVariant())
Gibt einen Zeiger auf ein ` QAxObject ` zurück, das das von der Methode oder Eigenschaft ` name` bereitgestellte COM-Objekt umschließt, wobei die Parameter ` var1`, ` var1`, ` var2`, ` var3`, ` var4`, ` var5`, ` var6`, ` var7 ` und ` var8` übergeben werden.
Wird name von einer Methode bereitgestellt, muss die Zeichenfolge den vollständigen Funktionsprototyp enthalten.
Ist ` name ` eine Eigenschaft, muss die Zeichenkette den Namen der Eigenschaft enthalten; ` var1`, … ` var8 ` werden ignoriert.
Das zurückgegebene ` QAxObject ` ist ein untergeordnetes Objekt dieses Objekts (das entweder vom Typ ` QAxObject ` oder ` QAxWidget` ist) und wird gelöscht, wenn dieses Objekt gelöscht wird. Es ist jedoch unbedenklich, das zurückgegebene Objekt selbst zu löschen, und Sie sollten dies tun, wenn Sie Listen von Unterobjekten durchlaufen.
COM-fähige Anwendungen verfügen in der Regel über ein Objektmodell, das bestimmte Elemente der Anwendung als Dispatch-Schnittstellen veröffentlicht. Verwenden Sie diese Methode, um durch die Hierarchie des Objektmodells zu navigieren, z. B.
QAxWidget outlook("Outlook.Application");
QAxObject *session = outlook.querySubObject("Session");
if (session) {
QAxObject *defFolder = session->querySubObject(
"GetDefaultFolder(OlDefaultFolders)",
"olFolderContacts");
//...
}QAxObject *QAxBase::querySubObject(const char *name, QList<QVariant> &vars)
Die Objekte „ QVariant “ in „ vars “ werden aktualisiert, wenn die Methode Ausgabeparameter hat.
Dies ist eine überladene Funktion.
void QAxBase::setClassContext(ulong classContext)
Legt den Kontext fest, in dem das ActiveX-Steuerelement ausgeführt wird classContext
Beeinflusst das Argument „dwClsContext“ beim Aufruf von CoCreateInstance. Dies kann verwendet werden, um den Start „in-proc“ oder „out-of-proc“ für Steuerelemente zu steuern, die beide Alternativen unterstützen. Außerdem kann es verwendet werden, um die Berechtigungen des Steuerelements zu ändern oder einzuschränken, wenn es zusammen mit CLSCTX_ENABLE_CLOAKING und einem Identitätsübernahme-Token verwendet wird.
Beachten Sie, dass diese Funktion vor dem Aufruf von `setControl()` aufgerufen werden muss, um wirksam zu sein.
Siehe auch ` classContext()`.
void QAxBase::setPropertyBag(const QAxBase::PropertyBag &bag)
Setzt die Eigenschaften des COM-Objekts auf die entsprechenden Werte in „ bag “.
Warnung: Sie sollten nur Eigenschaftssammlungen festlegen, die von der Funktion ` propertyBag ` zurückgegeben wurden, da nicht garantiert werden kann, dass die Eigenschaftssammlungsimplementierung des COM-Objekts dieselben Eigenschaften unterstützt, die über die IDispatch-Schnittstelle verfügbar sind.
Siehe auch „ propertyBag()“.
[virtual] void QAxBase::setPropertyWritable(const char *prop, bool ok)
Setzt die Eigenschaft „ prop “ auf „beschreibbar“, wenn „ ok “ wahr ist; andernfalls wird „ prop “ auf „schreibgeschützt“ gesetzt. Standardmäßig sind alle Eigenschaften beschreibbar.
Warnung: Je nach Implementierung des Steuerelements wird diese Einstellung bei einigen Eigenschaften möglicherweise ignoriert.
Siehe auch „ propertyWritable()“, „ QAxBaseWidget::propertyChanged()“ und „ QAxBaseObject::propertyChanged()“.
QStringList QAxBase::verbs() const
Gibt die Liste der Verben zurück, die das COM-Objekt ausführen kann. Wenn das Objekt „IOleObject“ nicht implementiert oder keine Verben unterstützt, gibt diese Funktion eine leere Zeichenfolge zurück.
Beachten Sie, dass die OLE-Standardverben (OLEIVERB_SHOW usw.) nicht in der Liste enthalten sind.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.