Update MQL4 600 & Benannte Rohre - Seite 4

 
oscarin:

Falls jemand immer noch Probleme mit der Verwaltung von Named Pipes in MT4 v600 hat, habe ich das Problem folgendermaßen gelöst:

  • Ersetzen von CreateNamedPipeA und CreateFileA durch CreateNamedPipeW und CreateFileW
  • Ändern der Deklarationen in ReadFile und WriteFile (Buffer), so dass ich mit CharArrays (1 Byte pro Zeichen) arbeiten kann:

  • Verwendung von Char-Arrays für die Kommunikation zwischen Server und Client:

Server:

Client:

Ich habe die Änderungen vorgenommen. Aber ich bekomme eine Menge Fehlermeldungen. Ich habe meine Datei angehängt.
Dateien:
 
Ich habe aufgehört Pipes zu benutzen, solange ich keinen Pipe-Server außerhalb von mt4 gefunden habe, da ein mt4-Pipserver blockiert!
 
gooly:
Ich habe aufgehört, Pipes zu verwenden, solange ich keinen Pipe-Server außerhalb von mt4 gefunden habe, da ein mt4-Pipserver blockiert!
Was verwenden Sie stattdessen für die Kommunikation zwischen zwei MT4?
 

Es war nicht zwischen 2 mt4, sondern zwischen einem Powershell-Skript und einem mt4, das seine neuen Positionen sendet.

Da es nicht zeitkritisch war und in erster Linie eine Art Proof of Concept, habe ich normale Dateien verwendet: mt4 öffnet (und sucht nach dem und) und fügt die Zeilen hinzu und powershell überprüft die Existenz der Datei und liest und löscht sie :(

Ich habe auch versucht, mich mit einem laufenden (lokalen) Socket-Server zu verbinden (um in zu out zu mappen), aber der mt4-Socket-Client konnte nie eine gültige Verbindung herstellen :(