Ver Mensaje Individual
  #3  
Antiguo 27-02-2005
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.539
Reputación: 24
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile Índice de cadena o de carácter inválido

¡Buen día a todos!

Además de lo dicho por Román, suponiendo que la expresión Cant sea al comenzar el ciclo For la cantidad total de cadenas de la lista, se corre el riesgo de que, después de eliminar una o más cadenas (Script.Delete), la variable I haga referencia a un índice ya no existente, lo cual también es causa de excepciones.

Es decir, si inicialmente Cant = 10, la variable I irá de 0 a 9 en el ciclo For, siendo 9 el índice mayor. Pero al eliminar una cadena de la lista, el índice mayor se reduce en 1, y en ese caso una referencia como Script.Strings [ I] , donde I sea igual a 9, generará una excepción, ya que ahora el índice mayor será 8.

En los casos donde se aplica un proceso iterativo a una lista de elementos, es recomendable utilizar un ciclo While o Repeat en lugar de un ciclo For, cuando el proceso iterativo puede cambiar la cantidad de elementos de dicha lista.

Espero esto sea de utilidad, seguimos en contacto.

Al González.
__________________
@algonzalez74

Última edición por Al González fecha: 27-02-2005 a las 19:55:10.
Responder Con Cita