Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Guestbook, loadMovieNum e _root.

    Hola!
    Scusatemi ma ora ho dovuto proprio postare questo messaggio.
    E' da tanto, parecchio, TROPPO tempo che provo a far funzionare il guestbook di Enrico Lai nel mio sito.
    Non so nemmeno se vi ricordate come è fatto visto che ormai è datato ma purtroppo è quello che serve a me, è l'unico perfetto che fa al caso mio e malgrado cio... NON FUNZIONA.
    Specifico: aperto il file swf singolarmente tutto funziona alla grande, ma, quando lo carico nel mio filmato principale attraverso loadMovieNum tutto è perso.
    Presumo che sia un problema di _root ma con _lockroot=true messa nel primo fotogramma del Gb caricato non da alcun risultato.
    Ho guardato ormai tutti i post scritti riguardo questo problema (tranne quello che mi avrebbe risolto tutto, questo lo so già, è sempre così) ma nessuno di quelli trovati mi da una mano.

    Riassumendo Filmato A che carica B attraverso loadMovieNum, caricamento avvenuto ma tutte le funzioni di B sono come disattivate.
    Forse perchè la root si riferisce ad A?
    NON LO SOOOOOOOOOOO!
    AIUTOOOOOOOOOO!
    Vi prego.
    Ecco il link del Gb di Enrico Lai: link diretto

    Grazie anticipatamente a tutti per l'aiuto!

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Se non ricordo male il guestbook di enrico lai è realizzato per flash player 5, e il _lockroot è stato introdotto solo dal player 7.
    Inoltre bisogna vedere se il problema può essere legato ad incompatibilità di player tra il tuo filmato e quello del guestbook.

  3. #3
    Ho riadattato il tutto anche la grafica e convertito in Flash Player 9.
    In effetti non ho specificato una cosa.
    Il guestbook una volta caricato riesce a leggere i dati contenuti nell'XML e quando si scrive un messaggio il filmato lo invia all'XML correttamente ma non riesce a visualizzarlo immediatamente sul guestbook. Il nuovo messaggio infatti appare solo dopo aver riaggiornato la pagina web e dopo aver ricaricato tutto il Movie. Infatti una volta fatto il refresh il messaggio scritto precedentemente appare.
    E nelle fasce di testo dinamico in cui appare LOADING XML oppure Connessione... oppure MESSAGGIO INVIATO e altri testi compare "undefined".
    Spero di non aver fatto casino con l'italiano e di essere stato chiaro nella spiegazione.

    Intanto grazie di avermi risposto (e non è una semplice frase fatta o forma di cortesia "automatica" visto che non sapevo più che santi chiamare in mio soccorso!)

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Ok, allora è probabile che una variabile, non essendo stata creata inizialmente non possa poi prendere un valore, in questo caso penso a quella che dovrebbe gestire gli stati nel campo di testo. Questo fino a Flash player 6 e ad AS1 non era un problema, perchè la variabile inesistente veniva creata automaticamente a runtime, ma l'avvento delle nuove versioniha irrigidito la situazione, per far risparmiare al player la correzione degli errori e rendere l'elaborazione più leggera.
    Inoltre, per quanto il guestbook di Enrico Lai sia veramente un ottimo lavoro, utilizza ormai un codice vecchio con una serie di problemi che al tempo non erano facilmente risolvibili, tipo l'asincronia dei dati inviati e ricevuti.
    Perciò attualmente, a meno che non pubblichi il tuo lavoro per flash player 5/6, avrai difficoltà ad usare il guestbook in questione.

  5. #5
    Ti do ragione.
    Effettivamente il codice è in As1 e io dovrei tradurlo almeno in As2!

    Infatti quando io esporto il filmato in As1 e lo carico in un movie As2 o As3 attraverso loadMovieNum lui riesce a leggere i file xml ma non riesce più a scriverli e, nella casella di testo dinamico dove appaiono i vari messaggi tipo "load xml" e robe varie appare "undefined".
    intanto io provo a postare il codice, non si sa mai che magari qualcuno che non ha sonno o che ha voglia di aiutarmi mi possa risolvere questo problema o almeno dirmi come fare.

    Codice del Primo Frame:
    Codice PHP:
    function ApriXML(r)
    {
        
    mioxml = new XML();
        
    apparray = new Array();

       
    // mioxml.load(filexml + "?ranq=" + random(999999));

        
    mioxml.load(filexml);
        
    mioxml.onLoad Metti;
    }

    function 
    Metti(success)
    {
        if (
    mioxml.loaded)
        {
            
    apparray mioxml.childNodes;
            
    Dati();
            
    MenuPag();
            
    CreaTabelle();
            
    _root.loadingundefined;
        }
    }

    function 
    Rimuovi()
    {
        for (
    0120a++)
        {
            
    this["clipmsg" a].removeMovieClip();
        }
    }

    function 
    MenuPag()
    {
        
    numero Math.abs(Nomi.length 120);
        for (
    0numeroi++)
        {
            
    attachMovie("page""pagine" i500);
            
    this["pagine" i]._x 690;
            
    this["pagine" i]._y 178 19;
            
    1;
            if (
    <= 9)
            {
                
    app "0" k;
            }
            else
            {
                
    app k;
            }
            
    this["pagine" i].pagina app;
            
    this["pagine" i].valore 120;
        }
    }

    function 
    CreaTabelle()
    {
        
    Rimuovi();
        
    0;
        
    conteggio 0;
        
    inizio puntatore 120;
        if (
    inizio 0)
        {
            
    inizio 0;
        }
        for (
    0120i++)
        {
            if (
    Nomi[inizio] != undefined)
            {
                
    attachMovie("clipmsg""clipmsg" ii);
                
    this["clipmsg" i]._x 95 conteggio 50;
                
    this["clipmsg" i]._y 184 26;
                
    this["clipmsg" i].data Data[inizio];
                
    this["clipmsg" i].nome Nomi[inizio];
                
    this["clipmsg" i].msg Messaggi[inizio];
                
    this["clipmsg" i].numero inizio 1;
                ++
    inizio;
                ++
    conteggio;
                if (
    conteggio >= 12)
                {
                    ++
    k;
                    
    conteggio 0;
                }
            }
        }
    }

    function 
    Dati()
    {
        
    Nomi = new Array();
        
    Messaggi = new Array();
        
    Data = new Array();
        for (
    0apparray.length >= kk++)
        {
            if (
    apparray[k].nodeName == "nome")
            {
                
    Nomi.push(apparray[k].childNodes.toString().toUpperCase());
                continue;
            }

            if (
    apparray[k].nodeName == "msg")
            {
                
    Messaggi.push(apparray[k].childNodes.toString());
                continue;
            }

            if (
    apparray[k].nodeName == "data")
            {
                
    Data.push(apparray[k].childNodes.toString().toUpperCase());
            }
        }

        
    Nomi.reverse();
        
    Messaggi.reverse();
        
    Data.reverse();
    }


    controlla "basta";

    filexml "messaggi.xml";
    puntatore 120;
    ApriXML();
    fscommand("allowscale""false"); 

    Codice del Pulsante INVIA:

    Codice PHP:
    on (release)
    {
        function 
    Verifica()
        {
            
    trovato "no";
            
    stringa nome;
            for (
    0stringa.lengthi++)
            {
                if (
    stringa.substring(i1) == ">" stringa.substring(i1) == "<")
                {
                    
    trovato "si";
                    return;
                } 
    // end if
            
    // end of for
            
    stringa msg;
            for (
    0stringa.lengthi++)
            {
                if (
    stringa.substring(i1) == ">" stringa.substring(i1) == "<")
                {
                    
    trovato "si";
                    return;
                } 
    // end if
            
    // end of for
        
    // End of the function
        
    if (nome != undefined msg != undefined nome.length != msg.length != 0)
        {
            
    Verifica();
            if (
    trovato == "si")
            {
                
    att "I CARATTERI < E > NON SONO AMMESSI";
            }
            else
            {
                
    att "connessione...";
                
    to_do "add_entry";
                
    loadVariablesNum("gb.asp"0"POST");
            
    _root.controlla "vai";
            } 
    // end else if
        
    }
        else
        {
            
    att "COMPILA I CAMPI";
        } 
    // end else if

    Grazie ancora!
    Luca

  6. #6
    Allora,
    La situazione qua non è avanzata affatto x' io non sono in grado a risolvere il problema attingendo alle mie deboli conoscenze.
    Lo so che il difetto sta in una singola parolina del codice ma proprio non ce la faccio.
    Se potete darmi una mano a tradurre il codice in AS3 ve ne sarei molto grato.
    Grazie e BUONA PASQUA... tra breve...

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Ti dico che "tradurlo" significa riscriverlo completamente, perciò ti consiglio di provare a chiederlo nella sezione adatta come lavoro (Offro lavoro/Collaborazione), ma dubito che qualcuno si metta a farlo gratuitamente, comunque tentar non nuoce.

    PS, occhio alle regole di quel subforum se scrivi la richiesta lì.

  8. #8
    Cavoli!
    Pensavo che fosse solo un errorino e tradurre una piccola frase!
    Dici proprio che è da rifare da capo? Sto gia sudando dalla fatica visto che devo riuscirci con le mie manine, senza escludere però gli aiuti indispensabili del forum!
    Comunque grazie mille per la risposta!

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.