Обновление MQL4 600 и именных труб - страница 4

 
oscarin:

Если у кого-то все еще есть проблемы с управлением именованными трубами в MT4 v600, вот как я решил эту проблему:

  • Замена CreateNamedPipeA и CreateFileA на CreateNamedPipeW и CreateFileW.
  • Изменение деклараций в ReadFile и WriteFile (Buffer), так что я могу работать с CharArrays (1 байт на символ):

  • Использование массивов Char для обмена данными между сервером и клиентом:

Сервер:

Клиент:

Я внес изменения. Но я получаю много сообщений об ошибках. Я прикрепил свой файл.
Файлы:
 
Я перестал использовать пайпы, так как не нашел пайп-сервера вне mt4, поскольку mt4-pipserver блокирует!
 
gooly:
Я перестал использовать трубы, пока не нашел pipe-сервер вне mt4, так как mt4-pipserver блокируется!
Что вы используете вместо этого для связи между двумя MT4?
 

Это было сделано не между двумя mt4, а между скриптом powershell и mt4, который отправлял новые позиции.

Поскольку это не было критично по времени и в первую очередь было своего рода доказательством концепции, я использовал обычные файлы: mt4 открывает (и ищет на и) и добавляет строки, а powershell проверяет существование файла, читает и удаляет его :(

Я также пытался подключиться к работающему (локальному) сокет-серверу (для сопоставления входа и выхода), но mt4-socket-client так и не смог установить корректное соединение :(