+ Reply to Thread
Results 1 to 4 of 4

variabile contenente il nome della funzione

This is a discussion on variabile contenente il nome della funzione within the Actionscript 3.0 base forums, part of the Flash Italiano category; Salve, ancora mille grazie per l'aiuto che con tanta pazienza sapete offrirci. Il mio nuovo problema è questo: istanzio un ...

  1. #1
    Member Settled In Enzuccio is on a distinguished road
    Join Date
    Oct 2007
    Posts
    44
    Rep Power
    0

    variabile contenente il nome della funzione

    Salve,
    ancora mille grazie per l'aiuto che con tanta pazienza sapete offrirci.
    Il mio nuovo problema è questo: istanzio un nuovo riferimento ad una classe, ed al costruttore gli passo anche il nome di un metodo da lanciare.
    Andiamo nel pratico per capirci

    testUpload.as

    Code:
    package {
     import flash.display.Sprite;
     import flash.display.MovieClip;
     import flash.text.*;
     import flash.events.*;
     import mindPack.*;
     import flash.utils.*;
     import flash.net.*;
     public class testUpload extends Sprite {
      public static var contenuto:String;
      public function testUpload() {
       //variabile di istanza della classe URLLoaderExample
       var url=new URLLoaderExample(http://localhost/hello.php,vaiAvanti,this);
       }
     
      public function vaiAvanti():void{
      //codice
      }
     }
    }
    URLLoaderExample.as

    Code:
    package mindPack{
     import flash.display.Sprite;
     import flash.display.MovieClip;
     import flash.events.*;
     import flash.net.*;
     public class URLLoaderExample extends Sprite {
      //costruttore
     
      public function URLLoaderExample(url,nomeFunzione,riferimento) {
        //a questo punto all'interno della variabile nomeFunzione abbiamo il riferimento al
        //nome del metodo . Come faccio per chiamarla da qui?
        //riferimento.nomeFunzione non va bene perchè cerca la funzione che si chiama
        //nomeFunzione che non esiste. Io dovrei passargli il contenuto di nomeFunzione.
      }
    }
    Sapreste darmi una mano?

  2. #2
    Administrator Living At The FlepStudio! Flep is on a distinguished road
    Join Date
    Jul 2007
    Posts
    5,762
    Rep Power
    11

    Re: variabile contenente il nome della funzione

    Hmmm....mi sembra che ti complichi la vita per nulla.
    Secondo me devi cambiare le logiche, il pattern dell' applicazione.
    Passi i 3 parametri a URLLoaderExample.
    URLLoaderExample assegna i valori dei 3 parametri a 3 sue proprietà e implementi il metodo nomeFunzione sempre rimanendo all' interno di URLLoaderExample.
    E' troppo rindondante come stai facendo.

    Altrimenti prova con una cosa del tipo:
    public function URLLoaderExample(url,nomeFunzione,riferimento) {
    var funzione:Function=nomeFunzione as Function;
    funzione();
    }
    }

    altrimenti usa uno switch per verificare la stringa nomeFunzione e chiami il corrispettivo metodo.

  3. #3
    Member Settled In Enzuccio is on a distinguished road
    Join Date
    Oct 2007
    Posts
    44
    Rep Power
    0

    Riferimento: Re: variabile contenente il nome della funzione

    Quote Originally Posted by Flep View Post
    Altrimenti prova con una cosa del tipo:
    public function URLLoaderExample(url,nomeFunzione,riferimento) {
    var funzione:Function=nomeFunzione as Function;
    funzione();
    }
    }
    Ho provato così adattandolo al mio codice e mi da questo errore: "ReferenceError: Error #1069: Impossibile trovare la proprietà funzione su testUpload e nessun valore predefinito presente."

    Questo esempio è solo esemplificativo. Vedendolo così sembra ridondante, ma in realtà la mia finalità è un'altra, che si riallaccia al problema del precedente post.

    Smanettando un pò ho risolto in questa maniera:

    testUpload.as
    Code:
    package {
     import flash.display.Sprite;
     import flash.display.MovieClip;
     import flash.text.*;
     import flash.events.*;
     import mindPack.*;
     import flash.utils.*;
     import flash.net.*;
     public class testUpload extends Sprite {
      public static var contenuto:String;
      public function testUpload() {
       //variabile di istanza della classe URLLoaderExample
       var url=new URLLoaderExample(http://localhost/hello.php,this.vaiAvanti);
       }
     
      public function vaiAvanti():void{
      //codice
      }
     }
    }
    UrlLoaderExample.as

    Code:
    package mindPack{
     import flash.display.Sprite;
     import flash.display.MovieClip;
     import flash.events.*;
     import flash.net.*;
     public class URLLoaderExample extends Sprite {
      //costruttore
     
      public function URLLoaderExample(url,nomeFunzione) {
    nomeFunzione();
          }
    }
    Praticamente ho risolto passando al costruttore il riferimento completo al metodo, cioè this.vaiAvanti

    Grazie lo stesso per l'interessamento.
    Vincenzo

  4. #4
    Administrator Living At The FlepStudio! Flep is on a distinguished road
    Join Date
    Jul 2007
    Posts
    5,762
    Rep Power
    11

    Re: variabile contenente il nome della funzione

    Bene, buono a sapersi

    Altrimenti puoi provare con un broadcaster:
    ActionScript*3.0*Language*and*Components*Reference

+ Reply to Thread

Similar Threads

  1. Problema richiamo swf contenente una classe
    By alexroma87 in forum Actionscript 3.0 avanzato
    Replies: 7
    Last Post: 07-06-10, 02:57
  2. addChild AttachMovie - runtime Nome Variabile
    By dciccio in forum Flash Italiano
    Replies: 0
    Last Post: 05-06-10, 16:06
  3. passare nome array tramite variabile
    By domdurakov in forum Actionscript 3.0 avanzato
    Replies: 1
    Last Post: 02-06-10, 10:44
  4. richiamare una funzione prima della chiusura dell'swf principale
    By chicchi in forum Actionscript 3.0 avanzato
    Replies: 4
    Last Post: 08-12-08, 14:13
  5. Replies: 1
    Last Post: 21-04-08, 08:32

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts