Comunidad de diseño web y desarrollo en internet online

Problema con array bidimensional

Citar            
MensajeEscrito el 04 Oct 2012 09:40 am
Hola a todos, tengo el siguiente problemilla con mi array bidimensional de 3x4.
A ver si alguien me puede echar una mano y ve el error donde lo tengo porque no hay manera.
Tengo el siguiente xml:

Código :

<literals>
      <literal>
           <Name><![CDATA[name1]]></Name>
           <language><![CDATA[Castellano]]></language>
           <city><![CDATA[barcelona]]></city>
       </literal>
       <literal>
            <Name><![CDATA[name2]]></Name>
            <language><![CDATA[Ingles]]></language>
            <city><![CDATA[londres]]></city>
       </literal>
        <literal>
             <Name><![CDATA[name3]]></Name>
             <language><![CDATA[Francés]]></language>
             <city><![CDATA[París]]></city>
       </literal>
       <literal>
            <Name><![CDATA[name4]]></Name>
            <language><![CDATA[Alemán]]></language>
            <city><![CDATA[Munich]]></city>
       </literal>
</literals>

Y a continuación la parte de AS3 donde intento cargar los datos:

Código ActionScript :

var literals_ar:Array = new Array(3, xmlList.literals.literal.length());
for (i = 0; i < xmlList.literals.literal.length(); i++ )
{
       literals_ar[0, i] = xmlList.literals.literal[i].Name;
       literals_ar[1, i] = xmlList.literals.literal[i].language;
       literals_ar[2, i] = xmlList.literals.literal[i].city;
}

Y el error que me da al compilar es el siguiente: "VerifyError: Error #1030: Profundidad de pila desequilibrada. 3 != 0."
Alguien puede decirme donde tengo el error? Decir que el acceso a los datos es correcto y que si hago un 2trace" dentro del for y comento la declaración y la asignación del Array funciona correctamente.

Muchas gracias

Por Palacio

Claber

198 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Oct 2012 10:14 am
Hola chicos, he encontrado un error en el acceso, ahora está así:

Código ActionScript :

var literals_ar:Array = new Array(3, xmlList.literals.literal.length());
for (i = 0; i < xmlList.literals.literal.length(); i++ )
{
       literals_ar[0][i] = xmlList.literals.literal[i].Name;
       literals_ar[1][i] = xmlList.literals.literal[i].language;
       literals_ar[2][i] = xmlList.literals.literal[i].city;
}

Y ahora el error que me da es: "ReferenceError: Error #1056: No se puede crear la propiedad 0 en Number."

Alguna idea?
Muchas gracias

Por Palacio

Claber

198 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Oct 2012 01:16 pm
NUNCA se pasa el valor de retorno de una función en un loop por dos motivos: porque este puede cambiar afectando al loop y por rendimiento. Si lo haces en un arreglo estático igual corres riesgo, pues el valor puede cambuar si la asignación se repite. Prueba

var total:int = mlList.literals.literal.length()

Y luego usa la variable total

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 04 Oct 2012 02:40 pm
Gracias Jorge!!!!!

Por Palacio

Claber

198 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.