Hola amantes del código fijaos en esto:

<code>
var administracionGeneral:Array = new Array("<hola><mundo>Hola mundo</mundo></hola>");
             //
             for (i=0; i<administracionGeneral.length; i++) {
var tempXml:XML = new XML(administracionGeneral.join("")); trace("¿Que devuelve antes de ser borrado? --> "+tempXml);
                  delete tempXml
trace("¿Que devuelve despues de ser borrado? --> "+tempXml);
             }
</code>

¿Todo bien verdad?, que nadie me suelte que no puedo asignarle un tipo a una variable local, porque si que se puede :), vemos que los valores devueltos son correctos, en primer lugar el XML y luego "undefined" porque lo hemos borrado, bien, sigamos...

<code>
function unaFuncion(){
           //
var administracionGeneral:Array = new Array("<hola><mundo>Hola mundo</mundo></hola>");
           //
           for (i=0; i<administracionGeneral.length; i++) {
var tempXml:XML = new XML(administracionGeneral.join("")); trace("¿Que devuelve antes de ser borrado? --> "+tempXml);
                  delete tempXml
trace("¿Que devuelve despues de ser borrado? --> "+tempXml);
           }
}
unaFuncion();
</code>

Bueno, aquí ya me he empezado a mosquear, el flash pasa de mi al hacer el delete, los valores que se devuelven en ambos casos son el objeto xml con sus nodos ¿porque?, quien sabe... pero... continuemos,

<code>
function unaFuncion(){
           //
var administracionGeneral:Array = new Array("<hola><mundo>Hola mundo</mundo></hola>");
           //
           for (i=0; i<administracionGeneral.length; i++) {
                  tempXml = new XML(administracionGeneral.join(""));
trace("¿Que devuelve antes de ser borrado? --> "+tempXml);
                  delete tempXml
trace("¿Que devuelve despues de ser borrado? --> "+tempXml);
           }
}
unaFuncion();
</code>

jojo, esto si que es bueno, le quito el identificador "var" a "tempXml" y vuelve a ir bien, ya me hace caso al hacer el delete, ojo, yo entiendo (que alguien me corrija) que las variables definidas dentro de una función (con el "var" o sin el) son locales y caducan con la función, he probado a crear la variable fuera de la funcion y borrarla dentro, y va perfectamente, el problema en mi caso es querer crear la instancia de "tempXml" dentro de una función, que no me deja borrarla, ¿porque?, el codigo funciona perfectamente, pero no puedo eliminar ese objeto. ¿Que pensais?

Saludos.

Jano


----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------

Responder a