Есть довольно интересная реализация работы с COM
https://www.mql5.com/ru/articles/1454
Здравствуйте. Хотел бы получить консультацию, как программно можно реализовать обмен данными между приложениями. Я вижу, что интеграция с .Net и Com пока не реализована. Мысли по этому поводу следующие:
1. Использование FileMapping
2. Запись и чтение 2 файлов для обмена сообщениями.
Какие еще варианты есть?
managed dll даст синхронный доступ к .Net. А далее ....
Спасибо за ценные ответы. Цель - это создание компонента буфера данных, а также "удаленное" управление MT. Я не хочу логику кода реализовывать в рамках MQL. При реализации оболочки торговых функций нужно ли каждую функцию описывать или есть более простой способ типа метода eval как в VBScript или JScript, например?
OFF: Где можно посмотреть описание формата файла истории котировок?
Здравствуйте. Хотел бы получить консультацию, как программно можно реализовать обмен данными между приложениями. Я вижу, что интеграция с .Net и Com пока не реализована. Мысли по этому поводу следующие:
1. Использование FileMapping
2. Запись и чтение 2 файлов для обмена сообщениями.
Какие еще варианты есть?
Занимаюсь сейчас похожей задачей.
Для себя выбрал способ обмена через сокеты, как более универсальный и очень хорошо реализованный в NET.
Дальше выход на NET Remoting и дальше возможности неограничены.
там была ошибка, может сейчас и поправили
я методом научного хака сделал вот так, это на шарпе, думаю, будет понятно
[StructLayout(LayoutKind.Explicit, Size = 148, CharSet = CharSet.Ansi)]
public unsafe struct HistoryHeader
{
[FieldOffset(0)]
public int version; // версия базы
[FieldOffset(4)]
public fixed byte copyright[64]; // копирайт [64]
[FieldOffset(68)]
public fixed byte symbol[12]; // инструмент [12]
[FieldOffset(80)]
public int period; // период инструмента
[FieldOffset(84)]
public int digits; // число знаков после запятой в инструменте
[FieldOffset(88)]
public Int64 timesign; // временной отпечаток создания базы
[FieldOffset(96)]
public Int64 last_sync; // время последней синхронизации
[FieldOffset(104)]
public fixed int unused[11]; // для будущего использования [13]
}
Dima_S, очень интересно. А протокол UDP использовал? В MQL ты с winsock.dll работал, а стороннее приложение я так понял, что на дот нете?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте. Хотел бы получить консультацию, как программно можно реализовать обмен данными между приложениями. Я вижу, что интеграция с .Net и Com пока не реализована. Мысли по этому поводу следующие:
1. Использование FileMapping
2. Запись и чтение 2 файлов для обмена сообщениями.
Какие еще варианты есть?