hini #: Ich nehme an, dass es sich um ein Problem mit der Terminalversion handelt - Build 5120 kann die Eingaben des Testers nicht reproduzieren.
staticlong GetHandle( constint &ControlID[] )
{
long Handle = MTTESTER::GetTerminalHandle();
constint Size = ::ArraySize(ControlID);
for (int i = 0; i < Size; i++) {
Handle = user32::GetDlgItem(Handle, ControlID[i]);
if (Handle != 0) return Handle;
}
return(Handle);
}
Das Problem mit dem Erhalt von Testeingaben in Version b5120 wurde behoben. Während der Fehlersuche wurde festgestellt, dass für das Array static const int ControlID[] = {0xE81E, 0x804E} das zweite Element (0x804E) Handle gleich 0 zurückgibt, während das erste Element (0xE81E) gültiges Handle zurückgibt. Bei Verwendung dieses Handles funktioniert der Empfang der Eingabedaten des Testers korrekt.
Tests haben gezeigt, dass diese Methode auch in der Version b4879 funktioniert, und vermutlich sollte es auch in b4885 keine Probleme geben.
Ein Problem mit dem Erhalt von Tester-Eingabedaten in der Version b5120 wurde behoben. Während der Fehlersuche wurde festgestellt, dass für das Array static const int ControlID[] = {0xE81E, 0x804E} das zweite Element (0x804E) Handle gleich 0 zurückgibt, während das erste Element (0xE81E) gültiges Handle zurückgibt. Bei Verwendung dieses Handles funktioniert der Empfang der Eingabedaten des Testers korrekt.
Tests haben gezeigt, dass diese Methode auch in der Version b4879 funktioniert, und vermutlich sollte es auch in b4885 keine Probleme geben.
Am einfachsten ist es vielleicht, die Reihenfolge zu ändern
Sind Sie sicher, dass Sie die aktuelle Version von MTTester.mqh verwenden? Der folgende Code ist dort enthalten.
staticlong GetHandle( constint &ControlID[] )
{
staticconstbool MT5_b5050 = (::TerminalInfoInteger(TERMINAL_BUILD) > 5000);
long Handle = MTTESTER::GetTerminalHandle();
constint Size = ::ArraySize(ControlID);
for (int i = 0; i < Size; i++)
if (!MT5_b5050 || (ControlID[i] != 0xE81E))
Handle = user32::GetDlgItem(Handle, ControlID[i]);
return(Handle);
}
Das tue ich.
https://www.mql5.com/ru/blogs/post/748365
Ich habe es versucht und kann die Parameter des Testers nicht finden.
Muss ich Strg+C drücken, um den Text einmal zu kopieren?
Ich habe es versucht und kann die Parameter des Testers nicht finden.
Siehe _LastError.
Muss ich Strg+C drücken, um den Text einmal zu kopieren?
Nein.
Überprüfen Sie _LastError.
4009 ERR_NOTINITIALISED_STRING
4009 ERR_NOTINITIALIZED_STRING
Nicht reproduziert.
Es wird nicht gespielt.
Ich nehme an, dass dies ein Problem der Terminalversion ist - Build 5120 kann die Eingaben des Testers nicht reproduzieren.
Ich vermute, dass es sich um ein Problem mit der Terminalversion handelt, da es auf dem 5120 nicht reproduzierbar ist.
Auf dem b4885 funktioniert ebenfalls alles.
Auch bei der b4885 funktioniert alles.
Habe es
Ich nehme an, dass es sich um ein Problem mit der Terminalversion handelt - Build 5120 kann die Eingaben des Testers nicht reproduzieren.
Das Problem mit dem Erhalt von Testeingaben in Version b5120 wurde behoben. Während der Fehlersuche wurde festgestellt, dass für das Array static const int ControlID[] = {0xE81E, 0x804E} das zweite Element (0x804E) Handle gleich 0 zurückgibt, während das erste Element (0xE81E) gültiges Handle zurückgibt. Bei Verwendung dieses Handles funktioniert der Empfang der Eingabedaten des Testers korrekt.
Tests haben gezeigt, dass diese Methode auch in der Version b4879 funktioniert, und vermutlich sollte es auch in b4885 keine Probleme geben.
Am einfachsten ist es vielleicht, die Reihenfolge zu ändern
Ein Problem mit dem Erhalt von Tester-Eingabedaten in der Version b5120 wurde behoben. Während der Fehlersuche wurde festgestellt, dass für das Array static const int ControlID[] = {0xE81E, 0x804E} das zweite Element (0x804E) Handle gleich 0 zurückgibt, während das erste Element (0xE81E) gültiges Handle zurückgibt. Bei Verwendung dieses Handles funktioniert der Empfang der Eingabedaten des Testers korrekt.
Tests haben gezeigt, dass diese Methode auch in der Version b4879 funktioniert, und vermutlich sollte es auch in b4885 keine Probleme geben.
Am einfachsten ist es vielleicht, die Reihenfolge zu ändern
Sind Sie sicher, dass Sie die aktuelle Version von MTTester.mqh verwenden? Der folgende Code ist dort enthalten.