MetaTrader 4 Build 529 beta rilasciato con un nuovo compilatore - pagina 16

 
artamir:

Quindi il mio ctrl+F1 non funziona :( Non so

Cosa dovrebbe fare questa combinazione? F1 help funziona se si tratta di questo.
 
ALXIMIKS:

la variabile deve essere inizializzata.

Ora tutto il datetime deve essere inizializzato?

 
ALXIMIKS:

Cosa dovrebbe fare la combinazione? La F1 funziona se si tratta di questo.
Grazie.
 
artamir:
Grazie.


beh, direi che non c'è di che)) non è molto buono in realtà (( un sacco di discrepanze con le realtà del compilatore

 

Si suppone che quando si cambiano i parametri di un indicatore che è già in esecuzione e funzionante, facendo doppio clic su di esso,

l'indicatorenon aggiorna le variabili statiche, è per questo che non viene ridisegnato?

 

Ho notato una cosa strana su diversi computer, uno con XP e un altro con W 7

Quando si inizializza un array all'interno di una funzione, l'array non viene riempito completamente, solo il valore 0 ...

Quando si inizializza un array globalmente al di fuori di tutte le funzioni, gli array sono riempiti completamente come dovrebbero essere...

 
Datemi un esempio di codice, per favore. Questo è molto probabilmente il punto in cui si trova l'errore.
 
Renat:
Per favore, ci dia un esempio del codice. Questo è molto probabilmente il punto in cui si trova l'errore.
Funziona in questa forma...
//=====================================================================================// 
// Функция пишет комментарии 
//=====================================================================================//  
string info [];
color  cv   [];

void pr (string txt, color et)
{
int Coment = 10;

ArrayResize(info,Coment);
ArrayResize(cv,Coment  );

txt=txt+"  -"+TimeS();
for(i=Coment-1; i>=1; i--){info[i]=info[i-1]; cv  [i]=cv  [i-1];}info[0]=txt;cv[0]=et;
for(i=Coment-1; i>=0; i--)
   if(info[i]!="")
     {
      if(ObjectFind("txt"+(string)i)==-1)
      ObjectCreate ("txt"+(string)i,OBJ_LABEL,0,0,0);
      ObjectSet    ("txt"+(string)i,OBJPROP_CORNER,3);
      ObjectSet    ("txt"+(string)i,OBJPROP_XDISTANCE,10);
      ObjectSet    ("txt"+(string)i,OBJPROP_YDISTANCE,0+15*(Coment-i));
      ObjectSetText("txt"+(string)i,info[i], 10, "Verdana",cv[i]);
     }

}

Non funziona così.

//=====================================================================================// 
// Функция пишет комментарии 
//=====================================================================================//  
void pr (string txt, color et)
{
int Coment = 10;
string info [];
color  cv   [];
ArrayResize(info,Coment);
ArrayResize(cv,Coment  );

txt=txt+"  -"+TimeS();
for(i=Coment-1; i>=1; i--){info[i]=info[i-1]; cv  [i]=cv  [i-1];}info[0]=txt;cv[0]=et;
for(i=Coment-1; i>=0; i--)
   if(info[i]!="")
     {
      if(ObjectFind("txt"+(string)i)==-1)
      ObjectCreate ("txt"+(string)i,OBJ_LABEL,0,0,0);
      ObjectSet    ("txt"+(string)i,OBJPROP_CORNER,3);
      ObjectSet    ("txt"+(string)i,OBJPROP_XDISTANCE,10);
      ObjectSet    ("txt"+(string)i,OBJPROP_YDISTANCE,0+15*(Coment-i));
      ObjectSetText("txt"+(string)i,info[i], 10, "Verdana",cv[i]);
     }
}
 
Prova ArrayInitialize al primo avvio.
 
VOLDEMAR:
Funziona così ...

Non funziona così

Prima funzionava? Non riesco a capire per dove dichiari la variabile i:

for(i=Coment-1; i>=1; i--){info[i]=info[i-1]; cv  [i]=cv  [i-1];}info[0]=txt;cv[0]=et;
for(i=Coment-1; i>=0; i--)