Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    45

    Flash -> ASP ASP -> Flash

    Ho provato a personalizare l' esempio di motore di ricerca che si trova in flash-mx .it, che sfruttando l'iterazione fra flash e ASP compie ricerche all' interno di un DB Access.

    Utilizzando l'esempio sono riuscito in poco tempo a farlo funzionare correttamente, pero' poi, ho provato ad inserirlo nel progetto del mio sito, composto da un movie principale che, dall' interno, carica tutti i moduli che lo compongono.
    Moduli ai quali ho aggiunto anche quello del motore di ricerca.
    Ovviamente, come mi aspettavo, il tutto non funziona, probabilemente per il diverso posizionamento delle variabili rispetto alla _root.

    Mi chiedo quindi dove devo apportare le modifiche per far si che gli script continuino a parlarsi ??

    Faccio un esempio prendendo per buono che la ricerca dia un solo risultato:

    Lo script FLASH si comporta in questo modo:
    La variabile stringa di testo da cercare e' posizionata (nello script originale, quello cioe' che parte da _root) in un campo testo in formato InputText e, quando si clicca sul bottone SEARCH, viene richiamato uno scipt ASP che recupera la variabile in questo modo:
    codice:
    <% ParolaDaCercare=Request("SearchString") %>
    a questo punto elabora la ricerca e restituisce le variabili allo script flash nel modo seguente:
    codice:
    ...
    conta=oRS.RecordCount (prendiamo come esempio che conta sia uguale a 1) 
    if not oRS.Eof then
    %>conta=<%=conta%>&gb_Soprannome=<%=oRS("Soprannome")%>&gb_Cognome=<%=oRS("Cognome")%>&gb_Ruolo=<%=oRS("Ruolo")%>
    ...
    Le variabili sono quindi recuperate da dei campi testo in formato DinamicText che accolgono le variabili Soprannome Cognome e Ruolo con il seguente script Flash eseguito da un movie nella root principale:

    codice:
    onClipEvent (data) {
    gb_Soprannome = this["Soprannome"];
    gb_Cognome = this["Cognome"];
    gb_Ruolo = this["Ruolo"];
    ...
    Supponendo che il movie venga caricato da un altro movie e che ovviamente le variabili non si trovino piu' sulla _root come devo cambiare lo script o gli script per fargliele leggere ??

    Grazie mille.

  2. #2
    Supponendo che il movie venga caricato da un altro movie e che ovviamente le variabili non si
    trovino piu' sulla _root
    Ehm..
    Il movie che viene caricato da un altro movie, le variabili si trovano sulla propria _root. Se si utilizza un livello con il codice in questione la variabili non si trovano più sulla propria _root.


    Cioè ad esempio

    filmato.fla

    codice:
    _root.loadMovie("search.swf");
    Non devi modificare nessuna variabile, l'ho provato e il filmato mi funziona..
    A meno che non hai creato un livello con i moduli :master:


    ...
    Piccolo dubbio, non è che per caso puoi fare la ricerca ma non ti dà il risultato?? Nell'esempio la pagina asp è sotto la cartella /public/ricerca.asp

    /loadVariables ("/public/ricerca.asp", _root.contenitore.mc, "GET");/

    Prova a controllare dove hai messo la pagina asp.
    ...



    Bye

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    45
    La pagina ASP funziona perfettamente (ho aggiunto alcune righe che creano un fiel di testo e ci scrivano i risultati della query ottenuti) percio' ti confermo che la pagina viene richiamata correttamente, il parametro della stringa da cercare gli viene passato correttamente e i risultati ottenuti sono quelli corretti, ne consegue che il problema sta nel passaggio dei risultati da ASP a Flash.

    E' possibile che i valori della pagina ASP vengano passati allo script Flash sulla _root ??

    Cioe' mi spiego:
    Dalla pagina ASP
    codice:
     
    %>conta =<%=conta%>&gb_Soprannome =<%=oRS("Soprannome")%>&gb_Cognome =<%=oRS("Cognome")%>&gb_Ruolo =<%=oRS("Ruolo")%>
    Le variabili in grassetto vengano passate a flash e lette dallo script flash come _root.gb_Soprannome, _root.gb_Cognome etc.etc. perche' le variabili gli vengono restituite sulla root.

    poi flash le legge come tali cioe':

    codice:
    gb_Soprannome   = this["Soprannome"];
    gb_Cognome  = this["Cognome"];
    gb_Ruolo  = this["Ruolo"];
    Che in un filmato singolo e' come scrivere:

    codice:
    _root.gb_Soprannome   = this["Soprannome"];
    _root.gb_Cognome  = this["Cognome"];
    _root.gb_Ruolo  = this["Ruolo"];

    Se invece il filmato viene caricato da un altro filmato ne consegue che le variabili che cerca di leggere non sono piu' dove le cerca ma sono sulla _root.

    Adesso faccio qualche prova.

  4. #4
    :master: Continuo a non capire... il filmato dell'esempio lo carichi con un loadmovie o prendi il codice e lo inserisci in un unico filmato flash??

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    45
    Chiedo scusa se non mi sono spiegato bene.
    Ci riprovo.

    Il mio filmato prevede un interfaccia che di volta in volta carica i moduli richiamati dall' utente tramite un menu:
    Se l'utente clicca su MOTORE DI RICERCA
    il movie principale carica il movie dell' esempio (search.swf)
    in questo modo:

    LoadMovie("searc.swf","_root.sipario.mc.picture")

    Ovviamente ti ho tradotto il comando che usa invece delle variabili,
    cmq il filmato diciamo che esce dall'esempio viene caricato tre livelli sopra la _root.

    Grazie per l'interessamento ed eventuali utili consigli.

    Ciao.

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    45
    In effetti ho provato a creare un nuovo movie (test.swf) e al suo interno, sullo stage, ho instanziato un movieclip vuoto a cui ho dato il nome di prova e poi nell' unico frame ho messo l'azione per il caricamento
    LoadMovie("search.swf","prova") ed ho constatato che: se carico direttamente search.swf funziona se lancio prima il filamto di prova che ho creato e che lo carica come file esterno non funziona.

    Devo studiare qualcosa. Puoi aiutarmi?

    Grazie.

  7. #7
    Prova a caricare la movie dal livello, ( _root.sipario.mc.picture ) e scrivigli il codice LoadMovie("search.swf","this").

    Altro per il momento non so consigliarti, guarda se questa pagina ti può essere d'aiuto http://flash-mx.html.it/guide/view_l...guida=8&id=151.

  8. #8
    Ho trovato la soluzione, entra nel livello _root.sipario.mc, seleziona l'istanza picture e scrivi:

    codice:
    onClipEvent (load) {
    	loadMovieNum("search.swf", 0);
    }
    In questo modo associa l'istanza al movie, non cè necessità di modificare nessuna variabile.


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.