событие появления инструментов и портфелей

событие появления инструментов и портфелей
Atom
11/4/2013
pft_man


Добрый день.

Я вместо WpfConnectionInterface написал подключение и отключение к терминалу прямо в коде проекта. Сделал два TextBox'а, в св-во Text которых попадает соответственно название инструмента и портфеля, как только они появляются. При отключении они очищаются .Clear(). Дело в том, что при повторном подключении (т.е. если нажать Disconnect, а затем снова Connect) туда ничего не записывается, в чём может быть проблема? Прикрепил сюда мой небольшой проект с подключением.

И ещё вопрос новичка - зачем мы Action инициализируем null'ом (так было в предыдущей версии WpfConnectionInterface)? Нельзя просто написать: Action connected; ?

Code

Action connected = null;
connected = () =>
{
    _connection.Trader.Connected -= connected;
    this.GuiAsync(() =>
        {
            btnConnect.Background = new SolidColorBrush(Colors.LightCoral);
            btnConnect.Content = "Disconnect";
            btnConnect.IsEnabled = true;
        });
};
                
_connection.Trader.Connected += connected;
DonchianChannel.zip 7 MB (254)



Thanks:


IvanB

Avatar
Date: 11/4/2013
Reply


pft_man
Добрый день.

Я вместо WpfConnectionInterface написал подключение и отключение к терминалу прямо в коде проекта. Сделал два TextBox'а, в св-во Text которых попадает соответственно название инструмента и портфеля, как только они появляются. При отключении они очищаются .Clear(). Дело в том, что при повторном подключении (т.е. если нажать Disconnect, а затем снова Connect) туда ничего не записывается, в чём может быть проблема? Прикрепил сюда мой небольшой проект с подключением.

И ещё вопрос новичка - зачем мы Action инициализируем null'ом (так было в предыдущей версии WpfConnectionInterface)? Нельзя просто написать: Action connected; ?



При повторном нажатии на кнопку Connect не происходит вызов обработчика появления новых инструментов и портфелей по причине того, что соответствующие коллекции Securities и Portfolios у трейдера уже содержат все приходящие элементы, т.е. нет новых элементов, фактически. В Вашем случае можно удалять и создавать вновь коннектор, тогда при новом подключении соответствующие коллекции изначально будут пустые, и обработчик будет срабатывать как Вы сейчас ожидаете.
Quote:
И ещё вопрос новичка - зачем мы Action инициализируем null'ом (так было в предыдущей версии WpfConnectionInterface)? Нельзя просто написать: Action connected; ?

В данном случае можно и не инициализировать явно, но на старте изучения программирования, все-же лучше явно инициализировать начальные значения не элементарных переменных (элементарные: int, double, long, bool, ...)
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy