Why is not permited to access a member function from my local event handler in ActionScript (Flex4)? -


मेरा कोड ऐसा दिखता है:

  निजी फ़ंक्शन बनावटपोर्ट बटन (): शून्य {var exportButton: बटन = नया बटन (); ExportButton.label = "निर्यात"; ExportButton.x = 600; ExportButton.y = 10; ExportButton.addEventListener (MouseEvent.CLICK, फ़ंक्शन क्लिकहैंडलर (e: MouseEvent): शून्य {this.export ();}); super.addElement (exportButton); }  

त्रुटि है:

* प्रकार त्रुटि: त्रुटि # 1006: निर्यात फ़ंक्शन नहीं है। समारोह में / () [सी: \ उपयोगकर्ता \ उपयोगकर्ता \ एडीबी फ्लैश बिल्डर 4 \ कृषि प्रशासन \ src \ प्रमाण पत्र \ एक \ सर्टिफिकेट बीलडर 1.as: 150] * क्या कोई मुझे यह क्यों समझा सकता है? अग्रिम धन्यवाद!

क्लिकहैंडलर () सदस्य फ़ंक्शन नहीं है, ऐसा करता है किसी भी वर्ग के नहीं हैं यह एक अनाम समारोह है। इसलिए, यह एक उदाहरण से संबंधित नहीं है।

हालांकि, अगर मैं सही ढंग से याद करता हूं, तो आपको भीतर से गुंजाइश (जैसे exportButton ) में चर को संदर्भित करने में सक्षम होना चाहिए । उस स्थिति में, आप एक वेरिएबल के लिए क्लास संदर्भ निर्दिष्ट कर सकते हैं और इसका उपयोग इस :

  var निर्यात बटन के बजाय: बटन = नया बटन (); Var इस_: कुछ क्लास = यह; ... addEventListener (..., फ़ंक्शन क्लिकहैंडलर (e: MouseEvent): शून्य {this_.export ();});  

या, आप बस clickHandler () सदस्य फ़ंक्शन कर सकते हैं:

  निजी फ़ंक्शन क्लिकहैंडलर (e: MouseEvent): शून्य {this.export (); } ... {addEventListener (..., क्लिकहैंडलर); }  

Comments

Popular posts from this blog

Eclipse CDT variable colors in editor -

AJAX doesn't send POST query -

wpf - Custom Message Box Advice -