Qt 5.11 - QAxBindable (class)

QAxBindable क्लास




qt

QAxBindable क्लास

QAxBindable वर्ग QWidget और ActiveX क्लाइंट के बीच एक इंटरफ़ेस प्रदान करता है। More...

हैडर: # अलग करें <QAxBindable>
qmake: क्यूटी + = एक्ससेर्वर

सार्वजनिक कार्य

QAxBindable ()
वास्तविक ~QAxBindable ()
आभासी QAxAggregated * createAggregate ()
आभासी बूल readData (QIODevice * स्रोत , कास्ट Qringring और प्रारूप )
शून्य reportError (int code , const reportError & src , const QString & desc , const QString और संदर्भ = QString ())
आभासी बूल writeData (QIODevice * सिंक )

संरक्षित कार्य

IUnogn * clientSite () clientSite
शून्य propertyChanged (कास्ट चार * प्रॉपर्टी )
bool requestPropertyChange ( requestPropertyChange चार * संपत्ति )

विस्तृत विवरण

QAxBindable वर्ग QWidget और ActiveX क्लाइंट के बीच एक इंटरफ़ेस प्रदान करता है।

इस वर्ग द्वारा प्रदान किए गए कार्य एक क्लाइंट एप्लिकेशन को संपत्ति में परिवर्तन करने के लिए ActiveX नियंत्रण की अनुमति देते हैं। अपने नियंत्रण वर्ग को QWidget (प्रत्यक्ष या अप्रत्यक्ष रूप से) और इस वर्ग से इस वर्ग के कार्यों तक पहुँच प्राप्त करने के लिए इनहेरिट करें। मेटा-ऑब्जेक्ट कंपाइलर को पहले QWidget से इनहेरिट करने की आवश्यकता होती है।

class MyActiveX : public QWidget, public QAxBindable
{
    Q_OBJECT
    Q_PROPERTY(int value READ value WRITE setValue)

public:
    MyActiveX(QWidget *parent = 0);
    ...

    int value() const;
    void setValue(int);
};

प्रॉपर्टी राइट फंक्शन को लागू करते समय, इस प्रॉपर्टी को बदलने के लिए ActiveX क्लाइंट एप्लिकेशन से अनुमति प्राप्त करने के लिए requestPropertyChange () का उपयोग करें। जब संपत्ति बदलती है, तो परिवर्तन के बारे में ActiveX क्लाइंट एप्लिकेशन को सूचित करने के लिए propertyChanged () को कॉल करें। यदि नियंत्रण में कोई घातक त्रुटि होती है, तो क्लाइंट को सूचित करने के लिए स्थैतिक reportError उपयोग करें।

ActiveX क्लाइंट को कॉल करने के लिए clientSite () द्वारा लौटाए गए इंटरफ़ेस का उपयोग करें। अपने ActiveX नियंत्रण में अतिरिक्त COM इंटरफ़ेस को लागू करने के लिए, QAxAggregated उपवर्ग का एक नया ऑब्जेक्ट वापस करने के लिए createAggregate () को फिर से QAxAggregated

ActiveQt OpenGL उदाहरण दिखाता है कि अतिरिक्त COM इंटरफ़ेस को लागू करने के लिए QAxBindable का उपयोग कैसे करें।

QAxAggregated , QAxFactory और ActiveQt भी देखें

सदस्य समारोह प्रलेखन

QAxBindable :: QAxBindable ()

एक रिक्त QAxBindable ऑब्जेक्ट QAxBindable है।

[virtual] QAxBindable :: ~ QAxBindable ()

QAxBindable ऑब्जेक्ट को नष्ट कर QAxBindable है।

[protected] IUnogn * QAxBindable :: clientSite () कास्ट

यदि कोई क्लाइंट साइट सेट नहीं की गई है, तो इस ActiveX ऑब्जेक्ट के लिए क्लाइंट साइट इंटरफ़ेस पर एक पॉइंटर लौटाता है या रिक्त करता है।

जिस इंटरफ़ेस को आप कॉल करना चाहते हैं उसे प्राप्त करने के लिए दिए गए इंटरफ़ेस पर QueryInterface() कॉल करें।

[virtual] QAxAggregated * QAxBindable :: createAggregate ()

जब आप ActiveX नियंत्रण में अतिरिक्त COM इंटरफ़ेस लागू करना चाहते हैं, या जब आप COM इंटरफ़ेस के वैकल्पिक कार्यान्वयन प्रदान करना चाहते हैं, तो इस फ़ंक्शन को लागू करें। QAxAggregated उपवर्ग का एक नया ऑब्जेक्ट QAxAggregated

डिफ़ॉल्ट कार्यान्वयन नल पॉइंटर लौटाता है।

[protected] शून्य QAxBindable :: propertyChanged (const char * property )

इस फ़ंक्शन को उस क्लाइंट को सूचित करने के लिए कॉल करें जो इस ActiveX नियंत्रण की मेजबानी कर रहा है कि संपत्ति की संपत्ति को बदल दिया गया है।

यह फ़ंक्शन आमतौर पर संपत्ति के लेखन फ़ंक्शन के अंत में कहा जाता है।

यह भी देखें requestPropertyChange ()।

[virtual] बूल QAxBindable :: readData ( QIODevice * स्रोत , QIODevice और प्रारूप )

यदि COM ऑब्जेक्ट MIME प्रकार का समर्थन करता है, तो यह फ़ंक्शन स्वरूप में डेटा स्रोत से COM ऑब्जेक्ट को प्रारंभ करने के लिए कहा जाता है। इससे पहले कि आप इसे पढ़ सकें, आपको पढ़ने के लिए स्रोत खोलना होगा।

सफलता का संकेत देने के लिए सही है। यदि फ़ंक्शन गलत होता है, तो ActiveQt मेटा ऑब्जेक्ट सिस्टम के माध्यम से गुण सेट करके डेटा को संसाधित करेगा।

यदि आप इस फ़ंक्शन को लागू करते हैं तो आपको writeData () लागू writeData । डिफ़ॉल्ट कार्यान्वयन कुछ नहीं करता है और गलत रिटर्न करता है।

चेतावनी: HTML में एम्बेडेड ActiveX नियंत्रण data को पढ़ने के लिए object टैग के type और data विशेषता का उपयोग कर सकते हैं, या गुणों को प्रारंभ करने के लिए param टैग की सूची का उपयोग कर सकते हैं। यदि param टैग का उपयोग किया जाता है, तो इंटरनेट एक्सप्लोरर data विशेषता को अनदेखा करेगा, और रीडडाटा को नहीं बुलाया जाएगा।

यह फ़ंक्शन Qt 4.1 में पेश किया गया था।

writeData () भी देखें

शून्य QAxBindable :: reportError ( int code , const QString & src , const QString & desc , const QString और संदर्भ = QString ())

क्लाइंट एप्लिकेशन को एक त्रुटि रिपोर्ट करता है। कोड एक नियंत्रण-परिभाषित त्रुटि कोड है। desc एप्लिकेशन उपयोगकर्ता के लिए इच्छित त्रुटि का एक मानव-पठनीय विवरण है। src त्रुटि के लिए स्रोत का नाम है, आमतौर पर ActiveX सर्वर नाम। संदर्भ त्रुटि के बारे में अधिक जानकारी के साथ मदद फ़ाइल का स्थान हो सकता है। यदि संदर्भ कोष्ठक में एक संख्या के साथ समाप्त होता है, उदाहरण के लिए [12], तो यह संख्या मदद फ़ाइल में संदर्भ आईडी के रूप में व्याख्या की जाएगी।

[protected] बूल QAxBindable :: requestPropertyChange ( कास्ट चार * संपत्ति )

इस फ़ंक्शन को उस क्लाइंट प्रॉपर्टी से बदलने की अनुमति देने के लिए अनुरोध करें, जो इस ActiveX नियंत्रण को होस्ट कर रही है। यदि ग्राहक परिवर्तन की अनुमति देता है तो यह सच है; अन्यथा झूठा लौट आता है।

इस फ़ंक्शन को आमतौर पर संपत्ति के लिए लेखन फ़ंक्शन में पहले कहा जाता है , और फ़ंक्शन को गलत होने पर लेखन छोड़ दिया जाता है।

void MyActiveQt::setText(const QString &text)
{
    if (!requestPropertyChange("text"))
        return;

    // update property

    propertyChanged("text");
}

propertyChanged भी देखें ()।

[virtual] बूल QAxBindable :: writeData ( QIODevice * सिंक )

यदि COM ऑब्जेक्ट MIME प्रकार का समर्थन करता है, तो इस फ़ंक्शन को COM ऑब्जेक्ट को सिंक में संग्रहीत करने के लिए कहा जाता है। इससे पहले कि आप इसे लिख सकें, आपको लिखने के लिए सिंक खोलना होगा।

सफलता का संकेत देने के लिए सही है। यदि फ़ंक्शन गलत है, तो ActiveQt गुण मानों को संग्रहीत करके क्रमबद्ध करेगा।

यदि आप इस फ़ंक्शन को फिर से लागू करते हैं तो आपको readData () लागू readData । डिफ़ॉल्ट कार्यान्वयन कुछ नहीं करता है और गलत रिटर्न करता है।

यह फ़ंक्शन Qt 4.1 में पेश किया गया था।

readData () भी देखें