Ver Mensaje Individual
  #11 (permalink)  
Antiguo 25/01/2011, 12:23
Avatar de Javier01
Javier01
 
Fecha de Ingreso: febrero-2008
Ubicación: Montevideo
Mensajes: 261
Antigüedad: 16 años, 2 meses
Puntos: 31
De acuerdo Respuesta: ¿Bug de ASP? Encuentra el error

Cita:
Iniciado por Myakire Ver Mensaje
ya

El problema es que seguramente al mover un puntero el recordSet, ese puntero esta ahora en la localidad de memoria correspondiente a la posición 0 del arreglo, supongo que si pudieras moverlo dos lugares te encimaría ahora dos casillas del arreglo.

Y supongo que es por que no declaraste que ibas a usar ese arreglo sino hasta que creaste el arreglo, dentro del FOR. La solución entonces es definir el arreglo antes, con algo como:

...
Redim arrResult(0)
variable = GetRatingInfo (sSQL)
...

Hice la prueba con una consulta de varios registros, y usando "move.next" y "move 2", para ver
si pasaba por arriba otro valor del indice, pero sigue marcando como único error el indice 0.

El problema con la solucion que propones, de declarar la variable antes de usarla,
es que el valor del indice 0 nunca se asigna. Cuando pasa por el codigo
Redim Preserve mArray(UBound(mArray) + 1)
El array comenzará a llenarse desde la posición 1 y no de la 0.
Tampoco puedo declararla dinamicamente "dim mArray()" porque cuando
vaya a utilizar el UBound me va a dar error.

Como solución igual esta la de colocar
mArray = Array(mValue)
y luego
mArray(0)= mValue

Esto funciona sin declarar el array ni nada. Eso muestra que las 2 formas de asignar el valor trabajan diferente.

Gracias igual por la atencion y saludos!