Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 389

 
Peut-il y avoir 2 fonctions ontiques dans un programme ?
 
Максим Дмитриев:
Peut-il y avoir 2 fonctions ontiques dans un programme ?
Non !
 
Максим Дмитриев:
peut-il y avoir deux fonctions ontiques dans un même programme ?
Un.
Mais qui l'empêche d'exécuter les OnTickOne(), OnTickTwo(), OnTickThree(), etc. personnalisés ?
 
Максим Дмитриев:    peut-il y avoir deux fonctions ontiques dans un même programme ?

Il est facile de le vérifier soi-même.

C'est le deuxième.

// Так работает, но вызывается только OnTick()
void OnTick()
{
  Alert("Вызов функции OnTick()");
}

void start()
{
  Alert("Вызов функции start()");
}
Si vous laissez une seule fonction de démarrage, cela fonctionne aussi. Après tout, start est un nom obsolète. Le nom le plus à la mode est OnTick. La mode est statistiquement plus fréquente.
 
STARIJ:

Il est facile de vérifier par soi-même

Jurant sur le deuxième

Si vous laissez une fonction de démarrage, cela fonctionne aussi. Après tout, start est un nom obsolète. Un nom plus à la mode est OnTick. Mode - en statistiques, cela signifie plus fréquent.

Ce n'est pas une question de mode. Le fait est qu'à un moment donné, le support des fonctions obsolètes cessera. Et les "mods" ne souffriront pas. Mais ceux qui utilisent encore des fonctionnalités obsolètes - ils corrigeront tout ce qui a été construit au fil des ans.

 
Artyom Trishkin:

Ce n'est pas une question de mode. Le fait est qu'à un moment donné, la prise en charge des fonctionnalités obsolètes cessera. Et les "mods" ne souffriront pas. Mais ceux qui utilisent encore des fonctionnalités obsolètes - ils devront corriger le travail de toutes ces années.

Ce que je me demande, c'est pourquoi CodeBase accepte encore du code utilisant ces fonctions de gestion d'événements très obsolètes si elles peuvent être désactivées un jour ?

 
Alexey Viktorov:

Je me demande pourquoi CodeBase continue d'accepter du code qui utilise ces fonctions de gestion d'événements dépassées, si elles peuvent être désactivées à un moment donné ?

Qui sait... ? Question pour SD.

 
Alexey Viktorov:

Ce qui m'étonne, c'est que CodeBase continue à accepter du code utilisant ces fonctions de gestion d'événements très obsolètes si elles peuvent être désactivées un jour ?

C'est très simple. À en juger par l'exemple contenant à la fois start et OnTick, ils sont perçus différemment par le compilateur et s'affichent différemment dans le code ex4. L'exécuteur Ex4 les distingue également - le gestionnaire de l'événement OnTick est la fonction OnTick() et en son absence, c'est la fonction start(). La suppression de la fonction start() nécessiterait une nouvelle conception du compilateur (présent à la fois dans MetaEditor et dans Terminal) et de l'exécuteur dans Terminal.

Le résultat sera une réduction minuscule du code de MetaEditor et Terminator + de nouveaux bugs. Et une montagne de cris. En ont-ils besoin ?

 
STARIJ:

C'est très simple. À en juger par l'exemple, qui contient à la fois start et OnTick, ils sont perçus différemment par le compilateur et affichés différemment dans le code ex4. L'exécuteur Ex4 les distingue également - le gestionnaire de l'événement OnTick est la fonction OnTick() et en son absence, c'est la fonction start(). L'abandon de la fonction start() nécessiterait de redessiner à la fois le compilateur (présent à la fois dans MetaEditor et dans le Terminal) et l'exécuteur dans le Terminal.

Le résultat sera une réduction minime du code dans MetaEditor et Terminal + de nouveaux bugs. Et une montagne de pleurs. En ont-ils besoin ?

Je ne veux pas dire comment ils fonctionnent, mais pourquoi accepter de tels codes dans CodeBase s'ils peuvent cesser de fonctionner bientôt.

 
Alexey Viktorov:

Je ne parle pas de leur fonctionnement, mais pourquoi accepter de tels codes dans CodeBase s'ils risquent de ne plus fonctionner bientôt.

Je pensais avoir expliqué qu'ils fonctionneront toujours