Qt 5.11 - QAxScriptManager (class)

QAxScriptManager वर्ग




qt

QAxScriptManager वर्ग

QAxScriptManager वर्ग एप्लिकेशन ऑब्जेक्ट्स और स्क्रिप्ट कोड के बीच एक पुल प्रदान करता है। More...

हैडर: #include <QAxScriptManager>
qmake: क्यूटी + = अक्षतंतु
विरासत में मिली: QObject

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

QAxScriptManager (QObject * जनक = nullptr)
वास्तविक ~QAxScriptManager ()
शून्य addObject (QAxBase * ऑब्जेक्ट )
शून्य addObject (QObject * ऑब्जेक्ट )
QVariant call (const QString & function , const QVariant & var1 = QVariant (), const QVariant & var2 = QVariant (), const QVariant & var3 = QVariant (), const QVariant & var4 = QVariant (var), const QVariant & var5 = QVariant & var5 = ), कॉन्स्टेंट QVariant & var6 = QVariant (), const QVariant & var7 = QVariant (), const QVariant & var8 = QVariant ())
QVariant call (const QString और फ़ंक्शन , QList <QVariant> और तर्क )
QStringList functions (QAxScript :: FunctionFlags flag = QAxScript :: FunctionNames) const
QAxScript * load (const QString और कोड , const QString और नाम , const QString और भाषा )
QAxScript * load (const QString और फ़ाइल , const QString और नाम )
QAxScript * script (कास्ट Qringring और नाम ) कास्ट
QStringList scriptNames () const
  • 34 सार्वजनिक कार्य QObject से विरासत में QObject

सिग्नल

शून्य error (QAxScript * स्क्रिप्ट , int कोड , const QString और विवरण , int sourcePosition , const QString & TTE )

स्थैतिक जन सदस्य

bool registerEngine (const QString और नाम , const QString और एक्सटेंशन , const QString और कोड = QString ())
QString scriptFileFilter ()
  • 10 स्थिर सार्वजनिक सदस्यों को QObject से विरासत में मिला

अतिरिक्त घायल सदस्य

  • 1 संपत्ति QObject से विरासत में मिली
  • 1 सार्वजनिक स्लॉट QObject से विरासत में मिला है
  • 1 सार्वजनिक चर QObject से विरासत में मिला
  • 9 संरक्षित कार्य QObject से विरासत में QObject
  • 2 सुरक्षित चर QObject से विरासत में QObject

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

QAxScriptManager वर्ग एप्लिकेशन ऑब्जेक्ट्स और स्क्रिप्ट कोड के बीच एक पुल प्रदान करता है।

QAxScriptManager QAxObject या QAxWidget माध्यम से Qt एप्लिकेशन में एम्बेड की गई COM ऑब्जेक्ट्स के बीच एक सेतु के रूप में कार्य करता है, और स्क्रिप्टिंग भाषाएँ जो विंडोज स्क्रिप्ट तकनीकों के माध्यम से उपलब्ध हैं, आमतौर पर JScript और VBScript।

अपने आवेदन में प्रत्येक अलग दस्तावेज़ के लिए एक QAxScriptManager बनाएं, और COM ऑब्जेक्ट जोड़ें जो स्क्रिप्ट को addObject () का उपयोग करके एक्सेस करने की आवश्यकता है। फिर स्क्रिप्ट स्रोतों को load () और call () का उपयोग करके फ़ंक्शन को लागू call

चेतावनी: यह वर्ग bcc5.5 संकलक के साथ उपलब्ध नहीं है।

QAxScript , QAxScriptEngine , QAxBase और ActiveQt फ्रेमवर्क भी देखें

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

QAxScriptManager :: QAxScriptManager ( QObject * माता-पिता = nullptr)

एक QAxScriptManager ऑब्जेक्ट बनाता है। माता-पिता को QObject कंस्ट्रक्टर पर पारित किया जाता है।

किसी एप्लिकेशन में प्रत्येक दस्तावेज़ के लिए एक QAxScriptManager बनाना सामान्य है।

[virtual] QAxScriptManager :: ~ QAxScriptManager ()

सभी आवंटित संसाधनों को जारी करते हुए, वस्तुओं को नष्ट कर देता है।

शून्य QAxScriptManager :: addObject ( QAxBase * ऑब्जेक्ट )

प्रबंधक को वस्तु जोड़ता है। इस प्रबंधक द्वारा हैंडल किए गए स्क्रिप्ट ऑब्जेक्ट के ऑब्जेक्टनेम का उपयोग करके कोड में ऑब्जेक्ट तक पहुंच सकते हैं।

किसी भी स्क्रिप्ट को लोड करने से पहले आपको सभी आवश्यक वस्तुओं को जोड़ना होगा।

शून्य QAxScriptManager :: addObject ( QObject * ऑब्जेक्ट )

यह एक अतिभारित फंक्शन है।

प्रबंधक के ऑब्जेक्ट के लिए एक सामान्य COM रैपर जोड़ता है। QAxServer मॉड्यूल द्वारा प्रदान की गई कार्यक्षमता का उपयोग करके ऑब्जेक्ट को COM ऑब्जेक्ट के रूप में उजागर किया जाना चाहिए। इस फ़ंक्शन का उपयोग करने वाले एप्लिकेशन आपको qaxserver लाइब्रेरी के विरुद्ध लिंक करना चाहिए।

QVariant QAxScriptManager :: कॉल (const QString & function , const QVariant & var1 = QVariant (), const QVariant & var2 = QVariant (), const QVariant और var3 = QVariant (), const QVariant & var4 = QVariant (), const (वेरिएंट)। var5 = QVariant (), const QVariant & var6 = QVariant (), const QVariant & var7 = QVariant (), const QVariant & var8 = QVariant ()

फ़ंक्शन फ़ंक्शन , पैरामीटर var1 , var1 , var2 , var3 , var4 , var5 , var6 , var7 और var8 को तर्क के रूप में पास कर रहा है और फ़ंक्शन द्वारा लौटाए गए मान को लौटाता है, या यदि फ़ंक्शन फ़ंक्शन को वापस नहीं करता है तो अमान्य QVariant कॉल विफल। कॉल तब वापस आती है जब स्क्रिप्ट का निष्पादन समाप्त हो जाता है।

अधिकांश स्क्रिप्ट इंजनों में एकमात्र समर्थित पैरामीटर प्रकार "const QVariant &" है, उदाहरण के लिए, जावास्क्रिप्ट फ़ंक्शन को कॉल करने के लिए

function setNumber(number)
{
    n = number;
}

उपयोग

QValueList args;
args << 5;
script->call("setNumber(const QVariant&)", args);

dynamicCall के साथ पैरामीटर सीधे फ़ंक्शन स्ट्रिंग में एम्बेडेड हो सकते हैं।

script->call("setNumber(5)");

हालाँकि, यह धीमा है।

स्क्रिप्ट इंजन द्वारा प्रदान किए गए कार्य जो आत्मनिरीक्षण का समर्थन नहीं करते हैं, उपलब्ध नहीं हैं और संबंधित script ऑब्जेक्ट पर सीधे QAxScript::call () का उपयोग करके QAxScript::call किया जाना चाहिए।

ध्यान दें कि इस फ़ंक्शन को कॉल करना संबंधित QAxScript सीधे कॉल () का उपयोग करने से महत्वपूर्ण रूप से धीमा हो सकता है।

QVariant QAxScriptManager :: कॉल (const QList और फ़ंक्शन , QList < QVariant > और तर्क )

यह एक अतिभारित फंक्शन है।

कॉल पैरामीटर के रूप में तर्क पारित करते हैं , और परिणाम लौटाते हैं। जब स्क्रिप्ट का निष्पादन समाप्त हो जाता है तब वापस लौटता है।

[signal] शून्य QAxScriptManager :: त्रुटि ( QAxScript * स्क्रिप्ट , int कोड , const QString और विवरण , int sourcePosition , const QString और sourceText )

स्क्रिप्ट चलाते समय निष्पादन त्रुटि हुई, तो यह संकेत उत्सर्जित होता है।

कोड , विवरण , sourcePosition और sourceText में निष्पादन त्रुटि के बारे में जानकारी है।

चेतावनी: इस सिग्नल से जुड़े स्लॉट में स्क्रिप्ट को न हटाएं। इसके बजाय deleteLater () का उपयोग करें।

QStringList QAxScriptManager :: फ़ंक्शंस ( QAxScript :: FunctionFlags ध्वज = QAxScript :: FunctionNames) कॉन्स्टेंस

उपलब्ध सभी कार्यों के साथ एक सूची देता है। स्क्रिप्ट इंजन द्वारा प्रदान किए गए कार्य जो आत्मनिरीक्षण का समर्थन नहीं करते हैं, सूची में शामिल नहीं हैं। कार्यों को या तो पूर्ण प्रोटोटाइप के साथ प्रदान किया जाता है या केवल नामों के रूप में, झंडे के मूल्य पर निर्भर करता है।

QAxScript * QAxScriptManager :: लोड (const QString और कोड , const QString और नाम , const QString और भाषा )

भाषा के लिए स्क्रिप्ट इंजन का उपयोग करके स्क्रिप्ट स्रोत कोड को लोड करता है। स्क्रिप्ट को बाद में उसके नाम का उपयोग करके संदर्भित किया जा सकता है जो खाली नहीं होना चाहिए।

फ़ंक्शन दिए गए कोड के लिए स्क्रिप्ट को एक पॉइंटर लौटाता है यदि कोड सफलतापूर्वक लोड किया गया था; अन्यथा यह 0 देता है।

यदि भाषा खाली है, तो उसे न्यायिक रूप से निर्धारित किया जाएगा। यदि कोड में स्ट्रिंग "एंड सब" है, तो इसे VBScript के रूप में व्याख्या किया जाएगा, अन्यथा JScript के रूप में। अतिरिक्त स्क्रिप्ट इंजनों को registerEngine () का उपयोग करके registerEngine किया जा सकता है।

किसी भी स्क्रिप्ट को लोड करने से पहले आपको सभी ऑब्जेक्ट्स को जोड़ना होगा ( addObject () का उपयोग करके)। यदि कोड एक फ़ंक्शन की घोषणा करता है जो पहले से ही उपलब्ध है (कोई फर्क नहीं पड़ता कि किस भाषा में) पहला फ़ंक्शन अतिभारित है और अब call () के माध्यम से नहीं बुलाया जा सकता है; लेकिन यह अभी भी सीधे इसकी script को कॉल करके उपलब्ध होगा।

addObject (), scriptNames (), और functions () भी देखें।

QAxScript * QAxScriptManager :: लोड (const QString और फ़ाइल , const QString और नाम )

यह एक अतिभारित फंक्शन है।

फ़ाइल से स्रोत कोड लोड करता है। स्क्रिप्ट को बाद में उसके नाम का उपयोग करके संदर्भित किया जा सकता है जो खाली नहीं होना चाहिए।

फ़ंक्शन फ़ाइल के कोड के लिए स्क्रिप्ट इंजन में एक पॉइंटर लौटाता है यदि फ़ाइल सफलतापूर्वक लोड हुई थी; अन्यथा यह 0 देता है।

उपयोग किए गए स्क्रिप्ट इंजन को फ़ाइल के विस्तार से निर्धारित किया जाता है। डिफ़ॉल्ट रूप से ".js" फ़ाइलों की व्याख्या JScript फ़ाइलों के रूप में की जाती है, और ".vbs" और ".dsm" फ़ाइलों की व्याख्या VBScript के रूप में की जाती है। अतिरिक्त स्क्रिप्ट इंजनों को registerEngine () का उपयोग करके registerEngine किया जा सकता है।

[static] बूल QAxScriptManager :: registerEngine (const QString और नाम , const QString और एक्सटेंशन , const QString और कोड = QString ())

स्क्रिप्ट इंजन को पंजीकृत करता है जिसे नाम कहा जाता है और यदि इंजन पाया गया था तो यह सच है; अन्यथा कुछ भी नहीं करता है और गलत रिटर्न करता है

स्क्रिप्ट इंजन का उपयोग दिए गए एक्सटेंशन के साथ फाइल लोड करते समय, या स्ट्रिंग कोड वाले सोर्स कोड को लोड करते समय किया जाएगा।

QAxScript * QAxScriptManager :: स्क्रिप्ट (QString और नाम ) const

नाम की स्क्रिप्ट लौटाता है।

आप सीधे QAxScript::call () के माध्यम से फ़ंक्शन कॉल करने के लिए दिए गए पॉइंटर का उपयोग कर सकते हैं, स्क्रिप्ट इंजन को सीधे एक्सेस करने के लिए या स्क्रिप्ट को हटाने और इस तरह से उतारने के लिए।

[static] QString QAxScriptManager :: scriptFileFilter ()

सभी समर्थित स्क्रिप्ट भाषाओं को सूचीबद्ध करते हुए एक फ़ाइल फ़िल्टर लौटाता है। यह फिल्टर स्ट्रिंग QFileDialog साथ उपयोग के लिए सुविधाजनक है।

QStringList QAxScriptManager :: scriptNames () const

सभी स्क्रिप्ट के नाम के साथ एक सूची देता है।