Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    LoadVars non restituisce valore booelano, help me.

    Innanzitutto saluto tutti in quanto è la prima volta che scrivo in questo forum.

    Ho un problema abbastanza banale ma che mi sta facendo scervellare: ho la necessità di creare una funzione che verifichi la connessione dell'swf con la macchina su cui l'swf è residente (non quella su cui sta girando).
    Praticamente non devo fare altro che tentare il caricamento di un file qualsiasi e capire se il caricamento è riuscito o meno ma non riesco a valorizzare una variabile al di fuori della funzione onLoad o a rstituire un valore boolean.

    Mi spiego meglio con un pò di codice:

    var my_lv:LoadVars = new LoadVars();
    var isSuccess:Boolean;

    // questa è la mia funzione
    function keepAlive():Boolean {
    var mySuccess:Boolean;
    my_lv.onLoad = function (success:Boolean) {
    if (success) {
    mySuccess = true;
    }
    else {
    mySuccess = false;
    }
    }
    my_lv.load("test.txt");
    return mySuccess;
    }

    isSuccess = keepAlive();
    trace(isSuccess);

    isSuccess è sempre undefined, qualcuno mi sa spiegare dove sbaglio?

    Grazie in anticipo a chi vorrà darmi una mano...

  2. #2
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    forse è un problema di percorsi... prova cosi:
    Codice PHP:
    var my_lv:LoadVars = new LoadVars();
    var 
    isSuccess:Boolean;

    // questa è la mia funzione
    function keepAlive():Boolean {
      var 
    mySuccess:Boolean;
      
    my_lv.onLoad = function (success:Boolean) {
        if (
    success) {
            
    mySuccess true;
              return 
    mySuccess;
          }
         else {
             
    mySuccess false;
              return 
    mySuccess;
         }
      }
       
    _root.my_lv.load("test.txt");
    }

    _root.isSuccess keepAlive();
    trace(_root.isSuccess); 
    inoltre il return lo devi fare nell onLoad una volta che ti ha ho meno effettuato il caricamento!!!

    PS: consiglio....indentare il codice è una buona cosa da fare!!
    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

  3. #3
    Mi da errore:

    **Errore** Scena=Scene 1, livello=actions, fotogramma=1:Linea 6: Istruzione di restituzione necessaria in questa funzione.
    function keepAlive():Boolean {

    Totale errori ActionScript: 1 Errori segnalati: 1


  4. #4
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    si hai ragione scusa... praticamenta la funzione ha un valore di ritorno booleano che però l'interprete non vede poichè ho messo i return interni...

    cmq

    Codice PHP:
    var my_lv:LoadVars = new LoadVars();
    var 
    isSuccess:Boolean;

    // questa è la mia funzione
    function keepAlive() {
      var 
    mySuccess:Boolean;
      
    my_lv.onLoad = function (success:Boolean) {
        if (
    success) {
            
    mySuccess true;
              return 
    mySuccess;
          }
         else {
             
    mySuccess false;
              return 
    mySuccess;
         }
      }
       
    _root.my_lv.load("test.txt");
    }

    _root.isSuccess keepAlive();
    trace(_root.isSuccess); 
    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

  5. #5
    Niente da fare, ho provato come mi hai indicato tu ma isSuccess è sempre undefined!

    Ma è possibile che non si possa fare questa cosa così semplice!!?

    Grazie byaur per il tuo aiuto.

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    il problema è che il success si trova e dipende da un evento asincrono (onLoad) della classe LoadVars e non può essere commutata in una fuzione con restituzione, restituirebbe sempre undefined o false

    tempo fa scrissi una classe per l'invio di mail, e avevo avuto lo stesso problema per la verifica della ricezione delle mail con un valore booleano... non ricordo come e sopratutto se avevo risolto... dovrei ricontrollare

  7. #7
    Se ricontrolli mi faresti un gran favore, ci sto

    In alternativa non conosci, per caso, un altro metodo per controllare la connessione del swf con la macchina su cui è residente?

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    non riesco a capire questa cosa in realtà... cosa vuole dire "un metodo per controllare la connessione del swf con la macchina su cui è residente", se l'swf è residente in quella macchina ed è in esecuzione, vuol dire che è già "connesso"

    magari specifica meglio quello che intendi dire

  9. #9
    Allora cerco si spiegarmi meglio:

    il mio swf è residente su http://www.miodominio.com ed è raggiungibile mediante l'URL: http://www.miodominio.com/mySWF.html

    Un client qualsiasi accede a quasta pagina (http://www.miodominio.com/mySWF.html) e visualizza la mia bella applicazione che in base alle azioni del client (click su un bottone piuttosto che su un altro) carica una serie di file XML che mostrano dei contenuti, fino qui ci siamo no?

    Il problema è che nel bel mezzo della navigazione può venire a mancare la connessione tra il client ed il server su cui è residente l'applicazione (per esempio se al client viene staccato il cavo di rete), a questo punto, alla prossima richiesta del client la mia applicazione cerca di caricare un altro xml ma non trovando si ghiaccia.

    Ecco io vorrei avere una funzione che mi permettesse di controllare se la connessione è attiva o meno; una semplice funzione che mi restituisse true o false in base al fatto che il mio swf riesce a caricare o meno un file residente nella sua stessa sandbox senza dover ogni volta scrivere tutto il codice per instanziare l'istanza loadVars e poi agire per forza nel metodo onLoad dell'istanza.

    Spero di essere stato + chiaro, grazie tante per il tuo aiuto.



    :master: :master:

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    lo sei stato sicuramente di più, anche se bisognerebbe vedere le condizioni per cui la connesione viene a mancare, comunque in generale direi che puoi registrare la scelta dell'utente e quindi il file esterno da richiamare, utilizzando i cookies o gli shared object, in modo da poter monitorare ogni volta le mosse dell'utente che si muove nel tuo sito, insomma non c'è bisogno di ricorrere al metodo che hai indicato, per verificare quale file caricare e "sbloccare" la navigazione dell'utente che ha perso la connessione

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.