Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Variabile indefinita

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    28

    Variabile indefinita

    Losò, è una cosa basilare, ma ci stò incocciando da troppo tempo, questo il codice:
    codice:
    --- qui carico i file esterno in php ---
    
    File_Esterno.onLoad = function(success) {
    	if (success) {
    		var miavariabile= '"'+contenuto_da_file_esterno+'"';
    	}
    };
    trace(miavariabile);
    Perchè la variabile 'miavariabile' è indefinita?
    Anche dichiarandola globale e fuori dalla funzione?

    Ringrazio anticipatamente per la pazienza, lunga vita e felicità a chi mi risponde.

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182

    Re: Variabile indefinita

    Originariamente inviato da hatma
    lunga vita e felicità a chi mi risponde.
    di questi tempi è cosa rara

    dovresti scrivere il resto del codice, se invece non c'è altro codice allora manca un po' di roba

    ps. oltretutto per aiutarti a correggere il codice dovrei sapere in linea di massima come è strutturato il file esterno (nel caso di php, cosa ti restituisce in output)

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    28
    Grazie! Ecco il codice:
    codice:
    System.useCodepage = true;
    contenuto_da_file_esterno = new XML();
    contenuto_da_file_esterno= true;
    contenuto_da_file_esterno.load("http://www.miosito.com/dammi_il_link.php");
    File_Esterno.onLoad = function(success) {
    	if (success) {
    		var miavariabile= '"'+contenuto_da_file_esterno+'"';
    	}
    };
    trace(miavariabile);
    var ncDefault:NetConnection = new NetConnection();
    ncDefault.connect(null);
    var nsSample:NetStream = new NetStream(ncDefault);
    var video1:Video;
    video1.attachVideo(nsSample);
    nsSample.play(miavariabile);
    il file php restituisce con un 'echo' una stringa pulita pulita http://sitoremoto.com/video.flv (senza apici nè tag)

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    hai fatto un po' di confusione sulle classi da utilizzare

    per comunicare con un file PHP devi usare la classe LoadVars non XML

    codice:
    //
    System.useCodepage = true;
    //
    //
    contenuto_da_file_esterno = new LoadVars();
    contenuto_da_file_esterno.onLoad = function(success) {
    	if (success) {
    		var miavariabile= this.variabile_esterna;
    		trace(miavariabile);
    	}
    };
    contenuto_da_file_esterno.load("http://www.miosito.com/dammi_il_link.php");
    //
    // da qui in poi non entro in merito della correttezza perchè non conosco
    var ncDefault:NetConnection = new NetConnection();
    ncDefault.connect(null);
    var nsSample:NetStream = new NetStream(ncDefault);
    var video1:Video;
    video1.attachVideo(nsSample);
    nsSample.play(miavariabile);
    il PHP deve restituire la variabile pulita ma formattata in questo modo

    codice:
    &variabile_esterna=http://sitoremoto.com/video.flv&

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    28
    Grazie, arrancando ci ero arrivato al 'semplice' loadVariables.
    l'output del php ora è questo:

    &url=nome_video.flv

    Se metto sullo stage un campo di testo dinamico e la Ver la chiamo 'url', regolarmente me lo mostra, ma se alla seconda riga (sono 2) mi azzardo a fare un trace(url), mi dà nuovanemte il tormentone del giorno : undefined! (senza esclamazione)

    Mi dico, se la variabile esiste, perchè non la posso usare?
    Scusa se il problema è di bassa levatura, ma come diceva Einstein "Tutto è relativo".

    Ringrazio

    P.S.il codice ora si dovrebbe ridurre a questo:

    codice:
    loadVariables("http://www.miosito.com/ti_dò_io_il_video.php",_root);
    video='"'+ _root.url +'"';
    var ncDefault:NetConnection = new NetConnection();
    ncDefault.connect(null);
    var nsSample:NetStream = new NetStream(ncDefault);
    var video1:Video;
    video1.attachVideo(nsSample);
    nsSample.play(video);

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da hatma
    Grazie, arrancando ci ero arrivato al 'semplice' loadVariables.
    l'output del php ora è questo:

    &url=nome_video.flv

    Se metto sullo stage un campo di testo dinamico e la Ver la chiamo 'url', regolarmente me lo mostra, ma se alla seconda riga (sono 2) mi azzardo a fare un trace(url), mi dà nuovanemte il tormentone del giorno : undefined! (senza esclamazione)

    Mi dico, se la variabile esiste, perchè non la posso usare?
    Scusa se il problema è di bassa levatura, ma come diceva Einstein "Tutto è relativo".

    Ringrazio

    P.S.il codice ora si dovrebbe ridurre a questo:

    codice:
    loadVariables("http://www.miosito.com/ti_dò_io_il_video.php",_root);
    video='"'+ _root.url +'"';
    var ncDefault:NetConnection = new NetConnection();
    ncDefault.connect(null);
    var nsSample:NetStream = new NetStream(ncDefault);
    var video1:Video;
    video1.attachVideo(nsSample);
    nsSample.play(video);
    no, non usare loadVariables, usa il codice che ti ho dato con le modifiche del caso:

    1- metti url al posto di variabile_esterna
    2- inserisci tutto il codice di "sotto" dentro l'onLoad di LoadVars
    3- chiudi l'output inviato da PHP con la & (E commerciale)

    codice:
    //
    System.useCodepage = true;
    //
    //
    contenuto_da_file_esterno = new LoadVars();
    contenuto_da_file_esterno.onLoad = function(success) {
    	if (success) {
    		var miavariabile= this.url;
    		var ncDefault:NetConnection = new NetConnection();
    		ncDefault.connect(null);
    		var nsSample:NetStream = new NetStream(ncDefault);
    		var video1:Video;
    		video1.attachVideo(nsSample);
    		nsSample.play(miavariabile);
    	}
    };
    contenuto_da_file_esterno.load("http://www.miosito.com/dammi_il_link.php");

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    28
    qualcosa di diverso lo fà...
    si inchioda Flash...và propio in crash, si chiude con qualche messaggio di errore di win2000!!!

    non la facevo così complicata...per caricare qualche video in rotazione random....

    l'output del php è corretto:

    &url=http://blabla.com/video.flv&

    Secondo me nsSample.play(video)vuole il link tra apici,
    ma non è il caso di resettare così ;-)

    Scusa se la cosa stà diventando lunga...

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da hatma
    Scusa se la cosa stà diventando lunga...
    figurati non più lunga di altre ;-D

    comunque la stringa che arriva dall'esterno è già tra apici, è una stringa

    ps. ma tu stai provando in locale o direttamente in rete?

    pps. ti ricordo comunque che non ho masi usato quelle classi per il controllo in streaming ecc... quindi potrei non vedere gli errori

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    28
    Stò provando in locale, perchè il tutto girerà in una specie di projector.
    Avevo già provato a mettere nell'onLoad tutto il codice, infatti non funzionava.
    Ormai sono al "proviamole tutte e statisticamente ci azzecco".

    Ricordo che originariamente il problema era:
    "come leggere una variabile fuori da una funzione?"

    Ho letto qui http://flash-mx.html.it/guide/view_lezione.asp?idguida=9&id=197 che infatti il problema esiste, ma anche usando le indicazioni non inizializzo la variabile, che peraltro non è nella root ma in _root.miomovieclip.

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    hai per caso installato il SP2 di windows e/o il NortonSecurityEcc... ?

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.