Именованные Трубы для МТ4 - Page 2
Страница 2 из 815 FirstFirst 1234 ... ПоследняяПоследняя
Results 11 to 20 of 41

Thread: Именованные Трубы для МТ4

  1. #11
    Привет 7Bit, Добрый день, Спасибо за ваше объяснение, но я все еще не понимаю. 4xCoder упоминал в начале своего потока, что это код без DLL, что означает (как вы знаете), что нет необходимости создавать файл Dll. Я был немного озадачен, почему мне нужно обернуть его и создать в файле Dll. Теперь есть еще одна вещь, если этот код предназначен для кода без Dll, будет ли хорошо сделать его MQH-файл в качестве библиотеки для MT4 ?? Мне нужен ваш совет, пожалуйста. Можете ли вы объяснить немного больше, чтобы я мог понять все это, пожалуйста? жду вашего ответа. Желаем удачи, Sf

  2. #12

    Quote Originally Posted by ;
    Спасибо за ваше объяснение, но я все еще не понимаю. 4xCoder упомянул в начале своего потока, что это код без DLL, что означает (как вы знаете), нет необходимости создавать файл Dll.Sf
    Я тоже не очень понимаю это. Вы упомянули, что хотите реализовать то же самое с Delphi (если я не совсем вас понял). Цитата: Любой успех в создании файла DLL для этого кода ... Итак, я предположил, что вы хотите либо использовать внутри DLL DLL именованные каналы такого же типа (вместо mql4, как показано здесь), либо использовать приведенный выше код mql4 и сделать другая сторона трубы (программа, с которой вы хотите общаться) в Delphi. Нет смысла использовать массивы целых чисел и большое количество битов и строк в массивах int для обхода недостатков mql4, когда вы хотите реализовать его на языке, который позволяет вам определять записи и массивы char (или любого другого другой тип, который вам нужен) и имеет динамическое распределение памяти, указатели и типизацию (и даже отличные ООП и готовые классы в стандартной библиотеке, которые реализуют и оборачивают все эти вещи низкого уровня для вас).

  3. #13
    Этот код, представленный 4xCoder, вообще не работает. Я провел всю ночь, сжигая свой мозг с помощью кода и прибегая к помощи, и никаких результатов вообще. Я постараюсь написать рабочий код и отправить его здесь!

  4. #14
    Привет CodersGuru, Большое спасибо за отзыв. Я также был смущен, что как мы можем использовать этот код в одиночку !!! Это бессмысленный код. Я считаю, что это только часть кода, которую можно использовать для соединения с другим кодом для интеграции работающего. Это не может быть бесплатный код DLL, как это. Он должен иметь некоторые другие функции, которые недоступны в Mql4, но только в Mql5. Я мог найти что-то подобное в этой статье:
    http://www.mql5.com/en/articles/115Так как в MQL5 есть несколько замечательных и новых дополнительных функций, это возможно, но мне все еще интересно, есть ли это в mql4. буду копать. И еще раз спасибо, что поделились. С наилучшими пожеланиями, SF

  5. #15

    Quote Originally Posted by ;
    Это не может быть бесплатный код DLL, как это. Он должен иметь некоторые другие функции, которые недоступны в Mql4, но только в Mql5.
    Это неправда. Нет причины, по которой такой кусок кода не должен работать. Посмотрев на код (не попробовав его сам), кажется, что в нем есть все, что нужно, я не вижу причин, почему он не должен работать. Другие люди в этой теме сообщили, что это действительно работает. Они лжецы? Зачем ему нужны другие функции? Какие функции вам не хватает? Поскольку вы сами являетесь опытным профессиональным программистом (вы купили коммерческую среду разработки за $, $$$. $$, которая в основном предназначена для настоящих программистов старой школы, которые приобрели свои навыки в 80-х и 90-х годах и теперь руководят собственными компаниями-разработчиками программного обеспечения) Вы должны быть в состоянии ответить на поставленный выше вопрос и заставить код работать. Или просто забудьте приведенный выше код и создайте dll с Delphi.

  6. #16
    3 Приложения (я) Я не мог заставить каналы работать так, как я хотел, но я действительно заставил почтовые слоты работать так, как я хотел. Единственное, чего не хватает, так это того, что я не могу получить почту от более чем одного отправителя, что, как я полагаю, должно произойти, но в любом случае он будет получать нормально только от одного отправителя. Может быть, есть где-то, что нужно перевернуть, и вы можете это исправить. Во всяком случае, вот несколько сценариев, которые я использовал для тестирования. ps: каналы работали, но я думаю, что они требуют, чтобы их поток находился в состоянии ожидания и наблюдал за поступлением нового элемента в очередь, тогда как почта может быть опрошена, чтобы увидеть, есть ли сообщение, а затем обработана. PS2: 7bit: Ну, я просто перечитал ваш последний пост, и мне пришлось немного посмеяться. настоящие программисты старой школы - да - мэйнфрейм IBM (что это?).
    https://www.forex-russian.com/attach...0956822101.mq4
    https://www.forex-russian.com/attach...2748702105.mq4
    https://www.forex-russian.com/attach...4945251232.mq4

  7. #17

    Quote Originally Posted by ;
    ps: каналы работали, но я думаю, что они требуют, чтобы их поток находился в состоянии ожидания и наблюдал за новым элементом, поступающим в очередь
    Неблокирующие каналы должны быть возможны в Windows, я на 99,9% уверен, что должен быть способ опроса неблокирующим способом, сколько байтов нужно прочитать, потому что я видел код, который полагается на это. У TPipeStream есть свойство NumBytesAvailable, и он получает его непосредственно из Windows API, это всего лишь тонкая оболочка (слишком ленив, чтобы сейчас просматривать источники, но я уверен на 99,9%). Редактировать: все это там:
    http://msdn.microsoft.com/en-us/libr...79(VS.85).aspx

  8. #18

    Quote Originally Posted by ;
    Я не мог заставить каналы работать так, как я хотел, но я заставил почтовые слоты работать довольно хорошо, как я хотел. Единственное, чего не хватает, так это того, что я не могу получить почту от более чем одного отправителя, что, как я полагаю, должно произойти, но в любом случае он будет получать нормально только от одного отправителя. Может быть, есть где-то, что нужно перевернуть, и вы можете это исправить. Во всяком случае, вот несколько сценариев, которые я использовал для тестирования. ps: каналы работали, но я думаю, что они требуют, чтобы их поток находился в состоянии ожидания и наблюдал за поступлением нового элемента в очередь, тогда как почта ...
    Привет, Кенз, спасибо, что поделился. Это мило, что ты это делаешь. Приветствия, SF

  9. #19

    Quote Originally Posted by ;
    Редактировать: все это там:
    http://msdn.microsoft.com/en-us/libr...79(VS.85).aspx
    Да, это один помощник, но проблема сейчас в том, что вы не можете использовать Mql4 в одиночку. Он должен быть подключен к другому программному обеспечению или библиотеке, например, к файлу Dll. Я теперь тот, кто сделал это, но не хочет делиться чем-либо, только идеей. Еще раз спасибо, С наилучшими пожеланиями, SF

  10. #20
    2 Вложения Я хочу поблагодарить 4xcoder за запуск этого потока и указание, как реализовать именованный канал без использования пользовательских dll. После просмотра Windows SDK мне удалось закодировать два сценария (портируя некоторые примеры на языке C на mql4). Эти два сценария работают в схеме клиент-сервер. Термин сервер не означает, что он должен находиться на удаленной машине. Сам сценарий на удивление прост
    Сценарий PipeServer работает путем создания экземпляра канала, входа в цикл while и ожидания подключения клиента (сценарий PipeClient) к только что созданному каналу. После того, как клиент был подключен: - PipeServer будет читать клиентское сообщение (чтение канала) - передать его обратно клиенту (запись канала), чтобы клиент знал, что его сообщение было правильно получено сервером -Закрыть канал и вернуться к циклу while, готово для следующего pipeclient. Каждый клиент будет обслуживаться последовательнов режиме блокировки. Скрипт PipeClient работает путем подключения к экземпляру канала. После подключения: - написать сообщение в канал - прочитать ответ с сервера - завершить. Чтобы увидеть, как работает схема клиент-сервер, вам нужно запустить Pipeclient и Pipeserver для другого экземпляра MT4. Возможно, наиболее интересная особенность named piped заключается в том, что в среде локальной сети Windows, просто изменив часть имени сервера на имя канала на стороне клиента (с/.//pipe/pipename на/имя_сервераpipepipename), вы можете подключиться на pipeserver, который работает на MT4, установленном на удаленной машине. НТН
    https://www.forex-russian.com/attach...1810624899.mq4
    https://www.forex-russian.com/attach...7974407210.mq4

Действующие разрешения

  • Вы не можете создавать новые темы
  • Вы не можете размещать ответы
  • Вы не можете использовать вложения
  • Вы не можете редактировать ваши записи
  •  
  • BB-код - Вкл.
  • Смайлики - Вкл.
  • Код [IMG] - Вкл.
  • Код [VIDEO] - Вкл.
  • HTML-код - Выкл.
Веб-сайт использует cookies
Веб-сайт использует cookies, в настоящее время некоторые из них уже установлены. Вы можете ознакомиться с более подробной информацией об использовании нами cookies здесь. Чтобы принять условия использования cookies, пожалуйста, нажмите на кнопку справа. Если вы продолжаете пользоваться веб-сайтом, вы по умолчанию принимаете условия использования cookies.