Estoy perplejo en este momento con un problema con un bucle FOR.(usando JMP16)
// open a window
mywindow = New Window(" xyz ", .....etc.);
// create journal
myjrn = mywindow << journal window;
For( i = 1, i <= 100, i++,
// do a lot of lines of lines requiring about 5' run time.
// periodically journal objects.
Close All( data tables, no save )
); // end to for loop
// SAVE the journal:
myjrn << save journal( "my.jrn" );
El bucle se detiene después de una iteración.
(Puedo reiniciar el bucle después de for (i=1, i<=100, i++, se detiene y no continúa con i=2.
for (i=2,i<=100, i++, se detiene y no procede a i=3.
for (i=3,i<=100, i++, se detiene y no procesa a i=4.
Pensamientos de bienvenida sobre lo que está causando esto? ¿resolución?
Gracias,
John
¿Depende cada código en cada iteración de las tablas de datos que está cerrando dentro de la función For()?
Sin ver todo el código es difícil de diagnosticar.
Primero revise la ventana de registro para ver si hay errores.
Si no hay ninguno, comenzaría mirando el valor de i después del ciclo For(). Sospecho que encontrará que es mayor que 100. Luego, debe ver dónde se cambia sin darse cuenta. Esto puede ocurrir ocasionalmente con colisiones de nombres con columnas en una tabla de datos. Si puede averiguar dónde podría estar sucediendo eso, intente cambiar la i a otra cosa y vea si comienza a funcionar. Eso confirmará la colisión de nombres.
¿Es posible que en algún lugar de su bucle Fro() esté configurando la variable "i" en un valor grande?
¿Tiene otras partes del código que usan "i" como variable?¿Podría reasignarse la variable (por ejemplo, si está utilizando funciones definidas por el usuario)?