confusione sul comportamento delle variabili - pagina 2

 
wlad:

sbagliato - non c'è inizializzazione

Ecco una prova dalla guida

Le variabili globali sono inizializzate solo una volta, subito dopo che il programma è stato caricato nella memoria del terminale client.

non è affatto un'inizializzazione, è un cambiamento di variabile

si prega di leggere attentamente il codice

Stampate anche il motivo della deinizializzazione in init() nel log. Allora capirete perché avviene l'inizializzazione.
 
valenok2003:

Hai sempre la condizione StringVal != backup e firsttime sarà sempre vero, perché esso (init) viene avviato solo una volta OGNI volta che l'EA viene avviato, e un nuovo avvio viene fatto quando si cambia la finestra tf o quando si cambia il set all'avvio del terminale.

Non è quello che intende.

perché non hai letto attentamente i messaggi.

Il problema si verifica quando la stringa esterna Value

la seconda variabile cambia anche quando cambia la prima

tutto il tempo

dovrebbe essere cambiato solo una volta

 
artmedia70:
E scrivere il motivo della deinizializzazione in init() nel log. Allora capirete perché avviene l'inizializzazione.

di cosa stai parlando?

dimenticare l'inizializzazione

Prendete l'ultimo esempio senza init() e testate

Perché parli a vanvera se non capisci quello che voglio dire?

 
wlad:

di cosa stai parlando?

dimenticare l'inizializzazione

prendere l'ultimo esempio senza init() e testarlo

Perché parli a vanvera se non capisci di cosa stiamo parlando?



O ti rompi ulteriormente il collo o leggi perché le variabili vengono inizializzate quando si cambiano i parametri di input.

"... Le variabili globali sono inizializzate solo una volta dopo che il programma è stato caricato nella memoria del terminale client... "

Quello che hai evidenziato in rosso e lo spessore del carattere - non ti dà la garanzia che dopo aver cambiato il valore di una variabile esterna, non si inizializzerà di nuovo come al primo avvio. Si può anche cambiare la dimensione del carattere nei messaggi. Ma l'inizializzazione avverrà comunque, anche se si rimuove init() dal programma.

 
wlad:

non è quello che vuoi dire

perché non hai letto attentamente il post.

Il problema si verifica quando la stringa esterna Value viene cambiata

e anche la seconda variabile cambia quando viene cambiata la prima

tutto il tempo

e dovrebbe essere cambiato solo una volta




una volta OGNI volta che l'EA viene avviato, e viene avviato ogni volta che si cambia questa variabile e si preme OK

cosa intendi per "caricare un programma nella memoria del terminale client..."quando hai compilato il codice?

 
artmedia70:

O rompete ulteriormente le vostre lance, o leggete perché le variabili vengono inizializzate quando si cambiano i parametri di input.

"... Le variabili globali sono inizializzate una volta, subito dopo che il programma è stato caricato nella memoria del terminale client... "

Quello che hai evidenziato in rosso e lo spessore del carattere - non ti dà la garanzia che dopo aver cambiato il valore di una variabile esterna non si inizializzi di nuovo come al primo avvio.

perché rispondere se non leggi attentamente i tuoi post?

2. La variabile non è inizializzata, prende il valore di 1.

Se siete troppo pigri per testarlo, non perdete tempo.

Se volete aiutare, ve ne sarei grato!

Leggete attentamente i vostri messaggi e testateli.


da dove l'hai preso?

non garantisce che dopo aver cambiato il valore di una variabile esterna, non si reinizializzi come la prima esecuzione.

Non ho ancora visto alcuna reinizializzazione di variabili globali

 
wlad:

Perché rispondere se non leggi attentamente i post?

2. la variabile non è inizializzata ma prende il valore 1.

Se sei troppo pigro per testarlo, non perdere tempo.

Se volete aiutare, ve ne sarei grato!

Leggete attentamente i vostri messaggi e testateli.


da dove l'hai preso?

non garantisce che dopo aver cambiato il valore di una variabile esterna, non si reinizializzi come la prima esecuzione.

Non ho ancora visto alcuna reinizializzazione di variabili globali


Quando una variabile esterna viene cambiata, l'EA viene riavviata. Vi ho suggerito di visualizzare i motivi della deinizializzazione nel log. Avete scelto di non farlo.
 
valenok2003:

cosa intendi per "caricare il programma nella memoria del terminale client..." ?"è quando hai compilato il codice?

anche in questo caso

intendi quando il programma è attaccato per la prima volta al grafico

ma lo dirò di nuovo.

non si tratta di inizializzazione

leggere sopra.

 
artmedia70:
Quando si cambia una variabile esterna, l'EA viene riavviato. Vi ho suggerito di visualizzare i motivi della deinizializzazione nel log. Avete scelto di non farlo.

Perché?

cosa farà per me?

So perché avviene la deinizializzazione

Cambio la variabile esterna

 
wlad:

anche in questo caso.

è la prima volta che il programma è attaccato al grafico

ma lo dirò di nuovo.

Non si tratta di iniziazione.

leggere sopra



Vlad, c'è un errore qui, l'inizializzazione avviene ogni volta che si cambiano i parametri esterni. Ed è proprio questo il punto, se si tratta dell'inite.

Motivazione: