Как отдать в МТ5 команду на сделку из сторонней программы ? - страница 2

 
Dmitry Fedoseev:
Разработчики никогда этого не сделают, это противоречит их основной политике и идеологии.
Нет, не противоречит. 
 
Алексей Тарабанов:
Нет, не противоречит. 
Да ну! С чего вдруг и откуда знаешь?
 
Dmitry Fedoseev:
Да ну! С чего вдруг и откуда знаешь?
догадываюсь 
 
Алексей Тарабанов:
догадываюсь 
Фантазируете.
 
Dmitry Fedoseev:
Фантазируете.

Это - следующий этап развития платформы. Прием сигнала от стороннего источника. 

Фантазирую :)  

 
Алексей Тарабанов:

Это - следующий этап развития платформы. Прием сигнала от стороннего источника. 

Фантазирую :)  

Об этом все мечтали, однако... 
 
Dmitry Fedoseev:
Может вы как-то так по своему, по особенному понимаете асинхронность? Как вы ее понимаете?

Я отвечу за Nemoys

Конечно, истинная асинхронность на уровне win api выглядит по другому и реализуется на уровне объектов ядра, мьютексов, MsgWaitForMultipleObjectsEX и т.д. Но, как я написал, пример из MSDN простейший, без наворотов.

Надо определиться, какая скорость реакции вам нужна. Если это миллисекунды - надо использовать объекты ядра. Если устраивает дискретность в секунду и более - не париться и проверять состояние по таймеру. 

 

Мьютексы и MsgWaitForMultipleObjectsEX - это как раз из области обеспечения синхронности. 

 
Alexey Volchanskiy:

Я отвечу за Nemoys

Конечно, истинная асинхронность на уровне win api выглядит по другому и реализуется на уровне объектов ядра, мьютексов, MsgWaitForMultipleObjectsEX и т.д. Но, как я написал, пример из MSDN простейший, без наворотов.

Надо определиться, какая скорость реакции вам нужна. Если это миллисекунды - надо использовать объекты ядра. Если устраивает дискретность в секунду и более - не париться и проверять состояние по таймеру. 

Если бы нужна дискретность в секунду я бы взял таймер миллисекундный и не парился бы.

нужна скорость - и даже sleep (1) и то слишком жирно. 

 

Хотя, здесь как раз можно при помощи мьютекса и MsgWaitForMultipleObjectsEX обеспечить мгновенную реакцию приемника команды. В терминале все равно будет советник и цикл типа

while(true){

  WhaitingFunction(); 

   // здесь действовать

  Sleep(1); 

} 

 WhaitingFunction() - в ней ждать отпускания мьютекса.

Вот только, кажется, к синхронности/асинхронности эта задача имеет очень далекое отношение. Скорее к синхронности.