2009-04-25 7 views
5

मैं एक वर्ग अनिवार्य है:फ्लेक्स प्रकार बलात्कार, यह मानसिक चला गया मुझे लगता है कि

public class WindowEvent extends Event 
{ 
    public static const WARNEVENT:String = "warnEvent"; 
    public static const TASKREQEVENT:String = "taskRequestEvent"; 
    public static const TASKANNOUNCE:String = "taskAnnounce"; 
    public static const WINDOWCHANGE:String = "windowChange"; 
    public static const ILLEGALPOSITION:String = "illegalPosition"; 

    // insert brevity 
} 

पहले चार घटनाओं ठीक काम कर रहे थे, लेकिन मैं सिर्फ मैं ILLEGALPOSITION जोड़ा गया है और यह करने की कोशिश की:

// inside Window.as 
    private function checkDimensions():void { 
     if(!Window._legalBoundaryEnable) 
      return; 
... var pass:Boolean = Window.legalBoundary.containsRect(
455  this.getBounds(stage)); 
456 if(!pass) { 
457  this.dispatchEvent(new WindowEvent(WindowEvent.ILLEGALPOSITION, 
...   "Illegal Position etc.")); 
     } 
    } 

तो फ्लेक्स जब मैं प्रेषण विधि मारा मुझ पर इस ढेर दे रहे थे:

TypeError: Error #1034: Type Coercion failed: cannot convert ¬ 
     flex.utils.ui::[email protected] to flash.events.MouseEvent. 
    at flash.events::EventDispatcher/dispatchEventFunction() 
    at flash.events::EventDispatcher/dispatchEvent() 
    at mx.core::UIComponent/dispatchEvent() ¬ 
     [C:\autobuild\~\UIComponent.as:9298] 
    at flex.utils.ui::Window/checkDimensions()[C:\Users\~\Window.as:457] 
    at flex.utils.ui::Window/stageResized()[C:\Users\~\Window.as:220]

आप का पता लगाने से देख सकते हैं, 012,अंतिम उपयोगकर्ता कोड लाइन है। तो डब्ल्यूटीएफ MouseEvent के साथ करने का प्रयास कर रहा है?

उत्तर

5

यह त्रुटि सामान्य रूप से होती है क्योंकि आपके द्वारा सेट किए गए श्रोता में गलत ईवेंट पैराम प्रकार है। मुझे पूरा यकीन है कि यह मामला यहां होना चाहिए।

चेक सभी श्रोताओं आपको लगता है कि घटना के लिए की स्थापना की और बनाने है यकीन है कि समारोह

someFunction(event : WindowEvent) : void 
+0

मैंने श्रोता समारोह को डुप्लिकेट किया था और आप सही थे, पैरामीटर प्रकार MouseEvent था। वास्तव में एक मूर्ख गलती थी, है ना। –

+0

/इसे लेता है आप टिप्पणियों में टैग का उपयोग नहीं कर सकते हैं। –

3

, ILLEGALPOSITION के लिए एक और मूल्य उपयोग करने का प्रयास "illegalPosition" फ्लेक्स ही (या अपने कोड के किसी अन्य भाग) द्वारा इस्तेमाल किया जा सकता है और एक माउस घटना से संबंधित। तो जब वह घटना हैंडलर आग लगती है, तो यह आपके ईवेंट को MouseEvent में बदलने की कोशिश करता है क्योंकि ऐसा लगता है कि यह एक होना चाहिए।

+0

हाँ, मुझे पता चला है कि एक मुश्किल तरीके से ... अगर मैं प्रतिष्ठा मैं चाहते था + 1 आप –

संबंधित मुद्दे