Ver Mensaje Individual
  #5  
Antiguo 16-12-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por Crandel Ver Mensaje
ok, eso es asi. Pero en su caso si utiliza la variable i dentro de su ciclo, salvo que lo haya modificado en tiempo de ejecución.

Un poco extraño lo que sucede.
Gracias por la observación, Crandel. Es como si esa I no fuera esa I, algo está faltando...

Delphius: Lo que dices tiene lógica, pero creo que sería muy difícil para el compilador determinar si una referencia de la variable contador dentro del ciclo puede o no puede alterar el resultado de las cosas, cuando tal referencia forma parte de una expresión como "FieldByName...AsFloat". Asumiendo que estamos hablando del FieldByName de TDataSet, esas sentencias involucran llamadas a varios métodos virtuales que según su implementación podrían realizar cualquier cosa. Dichos métodos serían ejecutados en primer lugar con un campo o con otro, dependiendo de si la variable es incrementada o disminuida.

En un código como el que ha mostrado AzidRain, el compilador no debería realizar la optimización mencionada.

César, ¿qué versión del compilador es? Y, aunque la pregunta parezca tonta, ¿el código que muestras es real? ¿Podrías pegar más del mismo aquí?

Saludos.
Responder Con Cita