Fehler, Irrtümer, Fragen - Seite 2444

 
Sergey Dzyublik:

Schalten Sie die Aggression ab.

 
fxsaber:

Auf der Entwicklerseite braucht man nur den Willen, denn es dauert nur eine Minute, um es zu tun.

Sie müssen nur den Hash-Wert des nativen Codes vor der "Verschleierung" in EX5 angeben.

Wenn ich es richtig verstanden habe, kann es auch ohne Änderung des Codes geändert werden.
 
Andrey Khatimlianskii:
Wenn ich es richtig verstanden habe, ändert sich das auch ohne Änderungen am Code.

Das Ergebnis der Kompilierung ist immer das gleiche. Dort gibt es keine Zufälligkeit.

Dieses Ergebnis wird dann an EX5 weitergeleitet, wo der Schutz nach dem Zufallsprinzip erfolgt.

 
fxsaber:

Das Problem der Entfernung zusätzlicher Leerzeichen wird in 4 Zeilen im SQL-Stil gelöst:

   string test = "AB C  D   E    F     G";
   Print(test);
   
   string delimeter = "{}?##%%";
   StringReplace(test, "  ", " " + delimeter);
   StringReplace(test, delimeter + " ", "");
   StringReplace(test, " " + delimeter, " ");

   Print(test);

Ergebnis:

2019.04.24 15:08:09.150 Test (EURUSD,H1)        AB C  D   E    F     G
2019.04.24 15:08:09.150 Test (EURUSD,H1)        AB C D E F G



Die Hauptsache ist der Wunsch, wie man so schön sagt.

 
Sergey Dzyublik:

Das Problem der Entfernung zusätzlicher Leerzeichen wird in 4 Zeilen im SQL-Stil gelöst:

string test = "AB C  D \"   \"  E    F     G";
 
fxsaber:

Das Ergebnis der Kompilierung ist immer das gleiche. Dort gibt es keine Zufälligkeit.

Dieses Ergebnis wird dann in EX5 gespült, wo der Schutz nach dem Zufallsprinzip erfolgt.

Und eine Prüfsumme, die nicht von Änderungen in ex5 abhängt, kommt in opt?

Dann könnten die Entwickler Zugang dazu gewähren.

 
fxsaber:

Müssen Sie ein Problem lösen oder einen Grund finden, es nicht zu lösen?

 
Andrey Khatimlianskii:

Und opt erhält eine Prüfsumme, die nicht von Änderungen an ex5 abhängt?

Nein, es ist ex5, das in opt. Dies ist der Grund, warum die Neukompilierung den Cache des Testers zurücksetzt.

 
Sergey Dzyublik:

Müssen Sie ein Problem lösen oder einen Grund finden, es nicht zu lösen?

Die Aufgabe ist formuliert worden. Ich möchte, dass das Ergebnis der Programmausführung in eine Datei mit einem anderen Namen zurückgesetzt wird, wenn die Logik (nativer Code) geändert wird.

 

Das Programm funktioniert nicht, ich habe durch Erfahrung herausgefunden, dass es in dieser Zeile abstürzt:

boost::asio::connect(*socket_, endpoint); (aus tick_receiver.cpp )

von dieser Funktion:


_DLLAPI int __stdcall client_connect(int port){ // keine Variablengröße hier für diesen Fehler


boost::asio::ip::tcp::resolver resolver(io);

boost::asio::ip::tcp::resolver::results_type endpoint = resolver.resolve("127.0.0.1", std::to_string(port));

boost::asio::connect(*socket_, endpoint); // hier fällt

Rückkehr 1;

}



2019.04.24 15:17:45.306 test_tick_receiver (EURUSD,H1) Zugriffsverletzung bei 0x00007FFC1AF29200 gelesen auf 0x00000000000000000000 in 'C:\Users\rukpe\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Experts\tick_receiver.dll'

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) crash --> 00007FFC1AF29200 498B4D00 mov rcx, [r13+0x0]

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 00007FFC1AF29204 33C0 xor eax, eax

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 00007FFC1AF29206 49837D08FF cmp qword [r13+0x8], 0xff

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 00007FFC1AF2920B 742D jz 0x7ffc1af2923a

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1)

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 00007FFC1AF2920D 33D2 xor edx, edx

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 00007FFC1AF2920F F0480FB15138 lock cmpxchg [rcx+0x38], rdx

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 00007FFC1AF29215 740C jz 0x7ffc1af29223

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1)

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1)

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 00: 0x00007FFC1AF29200

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 01: 0x000001BA759C1F40

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 02: 0xFFFFFFFFFFFFFFFFFFFFFF

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 03: 0x000001BA6E450000

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 04: 0x000001BA7575C5A0

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 05: 0x0000002E16AFE670

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 06: 0x00000FED243F54C5

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 07: 0x000001BA6E452000

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 08: 0x00007FF7DAEC6000

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1)


Dateien:
1.zip  54 kb