← Zurück

Побайндился со Strategy.Orders

Заявки выставляю через Strategy.RegisterOrder.. Почему-то в UI попадают не все заявки.

Ecng.Collections.SynchronizedList все необходимые эвенты о своем изменении шлет? и на регулярной основе? :-)

War dieses Thema hilfreich?

Thema teilen

Kommentare (6)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Mikhail Sukhov
Mikhail Sukhov

Байдинг корректно работает только в своем потоке - ГУИ. А Заявки в Strategy.Orders создаются из разных потоков. Поэтому и проблемы.

sergun
sergun Autor

Mikhail Sukhov: Байдинг корректно работает только в своем потоке - ГУИ. А Заявки в Strategy.Orders создаются из разных потоков. Поэтому и проблемы. А в такой ситуации не должен быть эксепшен типа "Вы пытаетесь менять что-то в GUI из не гуишного потока"? Просто у меня все "тихо", никаких эксепшенов, а заявочки в окошке не все показываются.

Mikhail Sukhov
Mikhail Sukhov

sergun:

Mikhail Sukhov: Байдинг корректно работает только в своем потоке - ГУИ. А Заявки в Strategy.Orders создаются из разных потоков. Поэтому и проблемы. А в такой ситуации не должен быть эксепшен типа "Вы пытаетесь менять что-то в GUI из не гуишного потока"? Просто у меня все "тихо", никаких эксепшенов, а заявочки в окошке не все показываются.

Не, байдинг кушает такие исключения. Сам напоролся, когда на знал, почему некоторые значения в таблице не обновляются.

sergun
sergun Autor

Mikhail Sukhov:

sergun:

Mikhail Sukhov: Байдинг корректно работает только в своем потоке - ГУИ. А Заявки в Strategy.Orders создаются из разных потоков. Поэтому и проблемы. А в такой ситуации не должен быть эксепшен типа "Вы пытаетесь менять что-то в GUI из не гуишного потока"? Просто у меня все "тихо", никаких эксепшенов, а заявочки в окошке не все показываются.

Не, байдинг кушает такие исключения. Сам напоролся, когда на знал, почему некоторые значения в таблице не обновляются.

Ясно. спасибо! т.е. наш путь - это обработчики событий :-)

А все-таки что такое Ecng.Collections.SynchronizedList, может в нем что полезное есть на будущее? Или это просто thread-safe List<T>?

sergun
sergun Autor

Mikhail Sukhov:

sergun:

Mikhail Sukhov: Байдинг корректно работает только в своем потоке - ГУИ. А Заявки в Strategy.Orders создаются из разных потоков. Поэтому и проблемы. А в такой ситуации не должен быть эксепшен типа "Вы пытаетесь менять что-то в GUI из не гуишного потока"? Просто у меня все "тихо", никаких эксепшенов, а заявочки в окошке не все показываются.

Не, байдинг кушает такие исключения. Сам напоролся, когда на знал, почему некоторые значения в таблице не обновляются.

Кстати, Михаил, не хотите сделать свойства Orders и Trades типа ObservableCollection или чем-то подобным, поддерживающим нотификацию об изменении коллекции?

Mikhail Sukhov
Mikhail Sukhov

sergun: Кстати, Михаил, не хотите сделать свойства Orders и Trades типа ObservableCollection или чем-то подобным, поддерживающим нотификацию об изменении коллекции?

ObservableCollection не thread safe, а нужно такое. Даже если я сделаю коллекцию с нотификациями, все равно нужно производить UI маршалинг через GuiSync. И смысл отпадет от такой коллекции, потому что уже есть подобные события у самой стратегии.