MetaTrader 4 Build 529 beta publié avec un nouveau compilateur - page 16

 
artamir:

Donc mon ctrl+F1 ne fonctionne pas :( je ne sais pas

Qu'est ce que cette combinaison est censée faire ? L'aide F1 fonctionne si c'est à peu près ça.
 
ALXIMIKS:

la variable doit être initialisée.

Maintenant, toutes les dates doivent être initialisées ?

 
ALXIMIKS:

Qu'est ce que la combinaison est censée faire ? Le F1 fonctionne si c'est ce dont il s'agit.
Merci.
 
artamir:
Merci.


eh bien, je dirais que vous êtes le bienvenu)) ce n'est pas très bon en fait (( beaucoup de divergences avec les réalités du compilateur

 

Est-ce que c'est censé être le cas lorsque vous modifiez les paramètres d'un indicateur qui est déjà en cours d'exécution et qui fonctionne, en double-cliquant dessus,

l'indicateurne met pas à jour les variables statiques, c'est pourquoi il n'est pas redessiné ?

 

J'ai remarqué une chose étrange sur différents ordinateurs, l'un avec XP et l'autre avec W 7

Lors de l'initialisation d'un tableau dans une fonction, le tableau n'est pas rempli en totalité, seulement la valeur 0 ...

Lors de l'initialisation globale d'un tableau en dehors de toutes les fonctions, les tableaux sont remplis complètement comme ils devraient l'être ...

 
Donnez-moi un exemple de code, s'il vous plaît. C'est très probablement là que se trouve l'erreur.
 
Renat:
Veuillez nous donner un exemple de code. C'est très probablement là que se trouve l'erreur.
Il fonctionne sous cette forme...
//=====================================================================================// 
// Функция пишет комментарии 
//=====================================================================================//  
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]);
     }

}

Ça ne marche pas comme ça.

//=====================================================================================// 
// Функция пишет комментарии 
//=====================================================================================//  
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]);
     }
}
 
Essayez ArrayInitialize au premier démarrage.
 
VOLDEMAR:
Ça marche comme ça ...

Ça ne marche pas comme ça

Ça marchait avant ? Je n'arrive pas à comprendre où vous déclarez la variable 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--)
Raison: