Quelle est la cause de l'erreur de débordement de pile dans mql4 ? - page 3

 
RaptorUK:
Mais il peut gérer une fonction de cette taille... comme je l'ai expliqué, changez le type de fonction et il n'y a pas d'erreur de compilation pour la même taille de fonction...

.

Cela signifie-t-il qu'une fonction int nécessite plus de ressources pour être exécutée ? Peut-être qu'alors les méta-citations peuvent faire en sorte que init, deinit et start soient nuls afin qu'ils consomment moins de ressources.
 
RaptorUK:
Mais il peut gérer une fonction de cette taille... comme je l'ai expliqué, changez le type de fonction et il n'y a pas d'erreur de compilation pour la même taille de fonction...

... ou laissez-le sous la forme d'un int et laissez le return(0) ; et faites-le pour tous les appels ... .

   ReturnedValue = ObCreate("EURUSDg",Column1xg,15,ZoomTimes);
   ReturnedValue = ObCreate("EURUSDa",Column1xa,15,ZoomTimes);

. . . où ReturnedValue est un int. . . devinez quoi ? aucune erreur de compilation.


Faites en sorte que votre code ait un sens... et hop, comme par magie, l'erreur disparaît, bizarre non ?

 
Une fonction int retournant 0 devrait être comparable à une fonction void, ce qui signifie qu'il y a quelque chose.
 
tonny:

Cela signifie-t-il qu'une fonction int nécessite plus de ressources pour être exécutée ? Peut-être qu'alors les méta-citations peuvent faire en sorte que init, deinit et start soient nuls afin qu'ils consomment moins de ressources.
Bien sûr qu'unefonction int a besoin de plus de ressources pour s'exécuter... elle doit retourner une valeur et cette valeur doit être stockée en mémoire pour pouvoir être retournée. J'ai vu des gens coder avec init, start et deinit déclarés comme void ... ce n'est pas quelque chose que je fais.
 
RaptorUK:

... ou laissez-le sous la forme d'un int et laissez le return(0) ; et faites-le pour tous les appels ... .

. . . où ReturnedValue est un int. . . devinez quoi ? aucune erreur de compilation.


Faites en sorte que votre code ait un sens... et hop, comme par magie, l'erreur disparaît, bizarre non ?


La fonction int renvoie également 0. De toute façon, le problème est résolu, mais pour ce qui est de l'erreur, je pense qu'elle apparaît là où elle ne devrait pas.
 
tonny:
Une fonction int retournant 0 devrait être comparable à une fonction void, ce qui signifie qu'il y a quelque chose.
Non, ce n'est pas le cas... Une fonction void ne renvoie pas de valeur... Les valeurs 0, 1, 10000 prennent toutes le même espace mémoire à sauvegarder . . . ils sont tous de type int et un int utilise 4 octets. void ne retourne rien, cela prend 0 octet . . .
 
Cela signifie que même avec void, si nous devions ajouter d'autres objets, nous atteindrions le point de stress et provoquerions à nouveau l'erreur. Nous sommes d'accord ?
 
Je prends le silence pour un oui. Affaire classée.
 
tonny:
Cela signifie que même avec void, si nous devions ajouter d'autres objets, cela atteindrait le point de stress et provoquerait à nouveau l'erreur. On est d'accord ?
Non, je ne suis pas d'accord.

Mais il semble que vous ayez raison...
 
RaptorUK:
Non, je ne suis pas d'accord.

Mais il semble que vous ayez raison...

Maintenant nous sommes sur la même longueur d'onde.