Visualizzazione dei risultati da 1 a 3 su 3

Discussione: TypeError 1006

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    86

    TypeError 1006

    Salve a tutti.
    Mi sto addentrando nel mondo di Action Script 3 sono alle prime armi.
    Tentavo di eseguire uno script della guida pero dopo vari accorgimenti, ho quest'errore

    TypeError catch: TypeError: Error #1006: value non è una funzione.2
    Finally!
    Continuing with script...

    Ho visto un po la gestione degli errori con try catch e finally ma non riesco a risolvere il problema.
    Questo è il codice mi potete aiutare grazie in anticipo AP.
    In pratica voglio leggere un file XML e visualizzarlo premendo un bottone

    // FileXML
    try {

    var filexml:String = "provaflash.xml";

    function openfile (nome:String)
    {
    var mioxml = new XML();
    mioxml.load(nome);
    if (mioxml.loaded) {
    trace(mioxml);
    }
    };

    bottone4.addEventListener (MouseEvent.CLICK, openfile(filexml));
    }

    catch(error:IOErrorEvent) {
    trace("IOErrorEvent catch: " + error + "1");
    }

    // Errore #1006

    catch(error:TypeError) {
    trace("TypeError catch: " + error + "2");
    }

    catch(error:Error) {
    trace("Error catch: " + error + "3");
    }

    finally {
    trace("Finally!");
    }

    trace("Continuing with script...");

    PS sono alle prime armi con questo linguaggio e ne ho veramente bisogno sono due giorni che ci sono sopra e mo mi si presenta sto problema per piacere raga aiutatemi grazie ancora AP

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Ma esattamente in che parte della guida si trova questo esempio?
    L'errore che ti viene comunicato sta su questa riga:

    bottone4.addEventListener (MouseEvent.CLICK, openfile(filexml));

    La funzione legata ad un evento si deve passare senza parametri, poi all'interno della stessa puoi passare quella stessa funzione.

    Il try...catch è meglio non usarlo in quel modo, inoltre in questo caso direi che si può omettere anche il finally.
    Ah un'ultima cosa, la classe XML di AS3 non contiene un metodo valido "load", bisogna utilizzare la classe URLLoader per gestire il caricamento.

    Un caricamento classico per l'xml può essere:

    Codice PHP:
    var xmlData:XML = new XML();
    var 
    xmlLoader:URLLoader = new URLLoader();
    xmlLoader.addEventListener(Event.COMPLETEcompleteHandler);
    xmlLoader.addEventListener(IOErrorEvent.IO_ERRORioErrorHandler);
    function 
    completeHandler (evt:Event) {
        try {
            
    xmlData = new XML(evt.target.data);
            
    trace(xmlData);
        } catch (
    err:Error) {
            
    trace(err);
        }
    }
    function 
    ioErrorHandler (evt:IOErrorEvent) {
        
    trace(evt);
    }
    bottone4.addEventListener(MouseEvent.CLICKclickHandler);
    function 
    clickHandler (evt:MouseEvent) {
        
    xmlLoader.load(new URLRequest("provaflash.xml"));


  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    86

    Risolto

    Grazie per il suggerimento funziona bene.
    Come ho spiegato prima sono alle prime armi ci risentiamo presto AP

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.