Visualizzazione dei risultati da 1 a 4 su 4

Discussione: LoadVars Asp Flash

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    204

    LoadVars Asp Flash

    Non riesco a venirne fuori ho letto ormai 1000 post in merito ma mi sfugge qualcosa.

    In questa pagina Asp che legge un semplice dato di un tabella su di un DB e mi torna una semplice stringa:

    <%
    Dim Cont
    Set DataConn = Server.CreateObject("ADODB.Connection")
    DataConn.Open "Driver=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("mdb-database/contatore.mdb")

    Set cmdTemp = Server.CreateObject("ADODB.Command")
    Set rstContacts = Server.CreateObject("ADODB.Recordset")

    cmdTemp.CommandText = "Select * From Contatore"
    cmdTemp.CommandType = 1
    Set cmdTemp.ActiveConnection = DataConn

    rstContacts.Open cmdTemp, , 1, 3
    rstContacts.Move CLng(Request("Record"))
    Cont = Server.URLEncode(rstContacts("Id"))

    Cont = Cont + 1

    /////////////////////////////////////////////////////////////

    Set rstContacts2 = Server.CreateObject("ADODB.Recordset")
    cmdTemp.CommandText = "Update Contatore Set Id = " & Cont
    cmdTemp.CommandType = 1
    Set cmdTemp.ActiveConnection = DataConn

    rstContacts2.Open cmdTemp, , 1, 3

    /////////////////////////////////////////////////////////////

    Set rstContacts3 = Server.CreateObject("ADODB.Recordset")
    cmdTemp.CommandText = "Select * From Contatore"
    cmdTemp.CommandType = 1
    Set cmdTemp.ActiveConnection = DataConn

    rstContacts3.Open cmdTemp, , 1, 3
    rstContacts3.Move CLng(Request("Record"))
    Response.Write "IdCont=" & Server.URLEncode(rstContacts3("Id"))

    //////////////////////////////////////////////////////////////

    rstContacts.Close

    rstContacts3.Close
    DataConn.Close
    %>


    Dal mio SWF ho questo codice:

    LV = new LoadVars()
    LV.onLoad=function(){
    IDCONT = LV.IDCont;
    }
    LV.load("../idcont.asp");

    NUMORDINE = IDCONT;


    Il valore di IDCONT è sempre UNDEFINED!!!!!

    Dov'è l'errore?
    Grazie!

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Sempre undefined, significa che se fai un trace subito dopo averlo assegnato, non ti restituisce quello che ti interessa?
    Le domande sono le solite:
    Provi in locale o sul server?
    Se provi in locale, hai attivato IIS e quindi provi su browser in localhost?
    Se provi da flash, hai impostato l'indirizzo giusto sullo script inserendo l'url assoluto al localhost?
    Hai già provato e sei certo che la pagina asp restituisca il valore corretto, ossia sotto forma di querystring con coppia per la variabile "nome=valore"?
    Se il codice che hai postato è esattamente uguale a quello che c'è nel tuo filmato, hai impostato il numero corretto del player e di actionscript?

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    204
    Dopo un paio di test è uscito questo:

    LV = new LoadVars()
    LV.onLoad=function(){
    IDCONT = LV.IDCont;
    -----> trace(IDCONT) Qui la variabile è assegnata correttamente
    }
    LV.load("../idcont.asp");

    --------> trace(IDCONT) Qui la variabile è assegnata come UNDEFINED

    NUMORDINE = IDCONT;


    Quando esce dal evento ONLOAD perde il valore della variabile!!!
    In merito alle tue domande è tutto corretto.

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Ok, il problema è che non è un problema, nel senso... le azioni che comportano un caricamento esterno hanno un delay non rintracciabile, se non attraverso la gestione degli eventi. Gli eventi sono programmati e legati unicamente alle classi che richiamano le azioni di caricamento. Nel caso del LoadVars avremo un'azione load a cui automaticamente viene associato un evento onLoad. Questo evento va sviluppato dal programmatore sotto forma di funzione, ed è lì e solo lì che le variabili legate al file esterno sono visibili, al di fuori sono inesistenti o meglio undefined, perciò in finale l'unica maniera di usare le variabili legate all'evento onLoad sono appunto quelle di usarle dentro la funzione che gestisce l'evento.
    Ci sarebbero tre strade praticabili:
    1. usi le azioni direttamente nella funzione onLoad
    2. imposti una funzione che usa fuori dall'onLoad le azioni, ma che deve essere richiamata comunque dentro onLoad, guadagni solo in leggibilità
    3. blocchi la timeline nel frame dove viene richiesto il caricamento e dentro l'onLoad riprendi il flusso spostandoti di frame, in questo modo nel frame successivo l'istanza della classe LoadVars sarà popolata di tutte le proprietà caricate dall'esterno e utilizzabili liberamente dentro la timeline

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.