Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [As3] EventDispatcher

  1. #1
    Utente di HTML.it L'avatar di duri93
    Registrato dal
    Dec 2008
    Messaggi
    155

    [As3] EventDispatcher

    Ciao a tutti
    Ho creato una classe che estende EventDispatcher, eppure esce l'errore
    1180: Chiamata al metodo non definito dispatchEvent.
    Perché?

    Questo è il codice:
    Codice PHP:
    package {
        
    import flash.events.EventDispatcher;
        
    import flash.events.Event;
            
        public class 
    LAMIACLASSE extends EventDispatcher{
            
            static function 
    CaricaFile(Url:String):String{
                
    dispatchEvent(new Event(Event.EVENT));
            }
        }

    Grazie dell'aiuto

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Perchè la richiami dentro ad un metodo statico e non esiste la funzione statica dispatchEvent per EventDispatcher.
    Devi creare la classe come singleton e usare il dispatchEvent sulla sua unica istanza.

    Codice PHP:
    package {
        
    import flash.events.Event;
        
    import flash.events.EventDispatcher;
        public class 
    CLASSNAME extends EventDispatcher {
            private static var 
    instance:CLASSNAME;
            private static var 
    allowInstantiation:Boolean;
            public function 
    CLASSNAME ():void {
                if (!
    allowInstantiation) throw (new Error("Class must be instantiated with CLASSNAME.getInstance()"));
            }
            public static function 
    getInstance ():CLASSNAME {
                if (!
    instance) {
                    
    allowInstantiation true;
                    
    instance = new CLASSNAME();
                    
    allowInstantiation false;
                }
                return 
    instance;
            }
            public static function 
    caricaFile (Url:String):String {
                
    getInstance().dispatchEvent(new Event("caricaFile"));
            }
        }


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.