![]() |
variable inexistente
Estimados, muchas gracias por la respuesta a mi anterior pregunta, ahora tengo una nueva, algunas veces cuando creo variables locales en un procedimiento o función y le asigno un valor y por último pongo un punto de interrupción en esta asignación, el punto de interrupción se pone con una cruz y el flujo nunca pasa por esa asignación, por que ???
gracias. |
Hola,
En este caso el compilador "no se para" porque en realidad no haces uso de ninguna variable luego de declararlas. O sea, el compilador dice, "subrimo las instrucciones de declaración de estas variables, puesto que no se utilizan". :)
Prueba ahora verás como "se para". :) |
A lo que se refiere Dec es que el compilador de Delphi hace optimización de código, esto es, con variables que solo se inicializan y luego no las vuelves a usar, el compilador las elimina del ejecutable para ahorro de memoria, lo que sucede en tu caso.
Saludos... |
Pero si quieres "forzar" a que pase por esas variables, colócalas como globales y no como locales. Digo, si es cosa de aferrase:D:D:D
Salud OS. |
También puede anular la optimización en Project|Options, pestaña Compiler.
// Saludos |
Hola,
Cita:
|
Supongo que porque el compilador no ve a distancia y no puede determinar si tal variable se usa o no en otra parte de la aplicación.
// Saludos |
Yo supongo que las variables locales solo son accesibles en el procedimiento o función en que es declarada por lo que es 'fácil' saber si son usadas o no, pero las variables globales pueden ser accesibles incluso desde cualquier otra unidad, por lo que sería demasiado trabajo para identificar si es usada o no.
Bueno, eso pienso:rolleyes::rolleyes: Salud OS. |
La franja horaria es GMT +2. Ahora son las 10:02:13. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi