Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 389

 
Kann es 2 ontische Funktionen in einem Programm geben?
 
Максим Дмитриев:
Kann es 2 ontische Funktionen in einem Programm geben?
Nein!
 
Максим Дмитриев:
Kann es zwei ontische Funktionen in einem Programm geben?
Erstens.
Aber wer hindert sie daran, die benutzerdefinierten OnTickOne(), OnTickTwo(), OnTickThree(), usw. auszuführen?
 
Максим Дмитриев:    Kann es zwei ontische Funktionen in einem Programm geben?

Sie können dies leicht selbst überprüfen.

Es ist die zweite.

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

void start()
{
  Alert("Вызов функции start()");
}
Wenn Sie eine einzelne Startfunktion lassen, funktioniert das auch. Schließlich ist "Start" ein veralteter Name. Der modernere Name ist OnTick. Mode ist statistisch gesehen ein häufigeres Phänomen.
 
STARIJ:

Das können Sie leicht selbst überprüfen

Fluchen auf den zweiten

Wenn Sie die Startfunktion in Ruhe lassen, funktioniert sie auch. Schließlich ist "Start" ein veralteter Name. Eine modernere Bezeichnung ist OnTick. Mode - in der Statistik bedeutet es häufiger.

Es geht nicht um Mode. Der Punkt ist, dass irgendwann die Unterstützung für veraltete Funktionen eingestellt wird. Und die "Mods" werden nicht darunter leiden. Aber diejenigen, die immer noch veraltete Funktionen verwenden, werden alles korrigieren, was sich im Laufe der Jahre angesammelt hat.

 
Artyom Trishkin:

Es geht nicht um Mode. Der Punkt ist, dass irgendwann die Unterstützung für veraltete Funktionen eingestellt wird. Und die "Mods" werden nicht darunter leiden. Aber diejenigen, die immer noch veraltete Funktionen verwenden, werden all die jahrelange Arbeit korrigieren müssen.

Ich frage mich, warum CodeBase immer noch Code akzeptiert, der diese sehr veralteten Ereignisbehandlungsfunktionen verwendet, wenn sie eines Tages deaktiviert werden könnten?

 
Alexey Viktorov:

Ich frage mich, warum CodeBase weiterhin Code akzeptiert, der diese veralteten Ereignisbehandlungsfunktionen verwendet, wenn sie irgendwann abgeschaltet werden können?

Wer weiß...? Frage an SD.

 
Alexey Viktorov:

Was mich erstaunt, ist, warum CodeBase weiterhin Code akzeptiert, der diese sehr veralteten Ereignisbehandlungsfunktionen verwendet, wenn sie eines Tages deaktiviert werden könnten.

Es ist ganz einfach. Nach dem Beispiel zu urteilen, das sowohl Start als auch OnTick enthält, werden sie vom Compiler unterschiedlich wahrgenommen und im ex4-Code unterschiedlich dargestellt. Der Ex4-Executor unterscheidet sie ebenfalls - der Handler des OnTick-Ereignisses ist die OnTick()-Funktion und in dessen Abwesenheit ist es die start()-Funktion. Die Abschaffung der Funktion start() würde eine Umgestaltung sowohl des Compilers (der sowohl in MetaEditor als auch in Terminal vorhanden ist) als auch des Executors in Terminal erfordern.

Das Ergebnis wird eine geringfügige Reduzierung des MetaEditor- und Terminator-Codes + neue Fehler sein. Und ein Berg von Geschrei. Brauchen sie es?

 
STARIJ:

Es ist ganz einfach. Nach dem Beispiel zu urteilen, das sowohl Start als auch OnTick enthält, werden sie vom Compiler unterschiedlich wahrgenommen und im ex4-Code unterschiedlich dargestellt. Der Ex4-Executor unterscheidet sie ebenfalls - der Handler des OnTick-Ereignisses ist die OnTick()-Funktion und in dessen Abwesenheit ist es die start()-Funktion. Der Verzicht auf die Funktion start() würde eine Neugestaltung sowohl des Compilers (der sowohl in MetaEditor als auch in Terminal vorhanden ist) als auch des Executors im Terminal erfordern.

Das Ergebnis wird eine winzige Kürzung des Codes in MetaEditor und Terminal + neue Bugs sein. Und ein Berg von Tränen. Brauchen sie es?

Ich meine nicht, wie sie funktionieren, sondern warum solche Codes in CodeBase akzeptiert werden, wenn sie vielleicht bald nicht mehr funktionieren.

 
Alexey Viktorov:

Ich spreche nicht davon, wie sie funktionieren, aber warum sollte man solche Codes in CodeBase akzeptieren, wenn sie vielleicht bald nicht mehr funktionieren.

Ich dachte, ich hätte erklärt, dass sie für immer funktionieren werden.
Grund der Beschwerde: