confusión sobre el comportamiento de las variables - página 2

 
wlad:

erróneo - no hay inicialización

Esta es una prueba de la ayuda

Las Variables Globales se inicializan una sola vez justo después de cargar el programa en la memoria del terminal cliente.

no es una inicialización en absoluto, es un cambio de variable

lea atentamente el código

Imprime también la razón de la desinicialización en init() en el registro. Entonces entenderás por qué se produce la inicialización.
 
valenok2003:

Siempre tienes la condición StringVal != backup y firsttime siempre será true, porque (init) se inicia sólo una vez CADA vez que se inicia el EA, y un nuevo inicio se produce cuando cambias la ventana tf, cuando cambias el set al iniciar la terminal.

Eso no es lo que quieres decir.

porque no has leído bien los mensajes.

El problema se produce cuando la cadena externa Value

la segunda variable también cambia cuando la primera cambia

todo el tiempo

debe cambiarse sólo una vez

 
artmedia70:
Y escribe en el registro la razón de la desinicialización en init(). Entonces entenderás por qué se produce la inicialización.

¿De qué estás hablando?

olvídate de la inicialización

Toma el último ejemplo sin init() y prueba

¿Por qué dices tonterías si no entiendes lo que quiero decir?

 
wlad:

¿De qué estás hablando?

olvídate de la inicialización

tomar el último ejemplo sin init() y probarlo

¿Por qué dices tonterías si no entiendes de qué estamos hablando?



O se rompe más la cabeza o lee por qué se inicializan las variables cuando se cambian los parámetros de entrada.

"... Las variables globales se inicializan sólo una vez después de cargar el programa en la memoria del terminal cliente... "

Lo que has resaltado en rojo y el grosor de la fuente - no te da una garantía de que después de cambiar el valor de una variable externa, no se inicializará de nuevo como lo hizo en el primer inicio. Incluso puedes cambiar el tamaño de la letra en los mensajes. Pero la inicialización seguirá ocurriendo, incluso si se elimina init() del programa.

 
wlad:

eso no es lo que quieres decir

porque no has leído bien el post.

El problema se produce cuando se cambia el valor de la cadena externa

y la segunda variable también cambia cuando se modifica la primera

todo el tiempo

y sólo debe cambiarse una vez




una vez cada vez que inicie el EA, y se inicia cada vez que cambie esta variable y pulse OK

¿Qué quiere decir con "cargar un programa en la memoria del terminal del cliente..."¿Cuándo compiló el código?

 
artmedia70:

O rompe más sus lanzas, o lee por qué se inicializan las variables cuando se cambian los parámetros de entrada.

"... Las variables globales se inicializan una vez, inmediatamente después de cargar el programa en la memoria del terminal cliente... "

Lo que resaltó en rojo y el grosor de la fuente - no le da una garantía de que después de cambiar el valor de una variable externa no se inicializará de nuevo como lo hizo en el primer inicio.

¿por qué responder si no se leen los mensajes con atención?

2. La variable no se inicializa, toma el valor de 1.

Si te da pereza probarlo, no pierdas el tiempo.

Si quieres ayudar, te lo agradeceré.

Lee atentamente tus mensajes y pruébalo.


¿de dónde has sacado esto?

no garantiza que después de cambiar el valor de una variable externa, no se reinicie como en la primera ejecución.

Todavía no he visto ninguna reinicialización de variables globales

 
wlad:

¿Por qué responder si no se leen los mensajes con atención?

2. la variable no se inicializa pero toma el valor 1.

Si te da pereza probarlo, no pierdas el tiempo.

Si quieres ayudar, te lo agradeceré.

Lee atentamente tus mensajes y pruébalo.


¿de dónde has sacado esto?

no garantiza que después de cambiar el valor de una variable externa, no se reinicie como en la primera ejecución.

Todavía no he visto ninguna reinicialización de variables globales


Cuando se modifica una variable externa, el EA se reinicia. He sugerido que se muestren los motivos de la desinicialización en el libro de registro. Has elegido no hacerlo.
 
valenok2003:

¿Qué quiere decir con "cargar el programa en la memoria del terminal del cliente"?"¿Es eso cuando se compila el código?

también en este caso

te refieres a la primera vez que el programa se adjunta al gráfico

pero lo diré de nuevo.

no se trata de la inicialización

leer arriba.

 
artmedia70:
Cuando se cambia una variable externa, el EA se reinicia. He sugerido que se muestren los motivos de la desinicialización en el registro. Has elegido no hacerlo.

¿Por qué?

¿para qué me sirve?

Sé por qué ocurre la desinicialización

Modifico la variable externa

 
wlad:

también en este caso.

es la primera vez que el programa se adjunta a la carta

pero lo diré de nuevo.

No se trata de la iniciación.

leer arriba



Vlad, aquí hay un error, la inicialización se produce cada vez que se cambian los parámetros externos. Y esa es exactamente la cuestión, si se trata del inite.