Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
26.01.2015, 21:54
|
|||
|---|---|---|---|
|
|||
Callback, как послать сигнал основному потоку? |
|||
|
#18+
Есть основной класс MainPage, в нём объект - экземпляр класса Work, выполняющего всю работу, а в Work - метод Do, в цикле выполняющий всё, что нужно. Проблема в том, что Do вызывает функцию, результат которой обрабатывается callback обработчиком там же, в классе Do. Т.е. рабочий цикл прерывается, делается вызов, из Do выходим по return , т.к. надо дождаться результата. А обработчик callback обрабатывает результат и запускает цикл с того же места, где прервалось. И этих вложенностей может быть несколько. Так вот, проблема в том, что результаты работы хранятся в полях объекта класса Work, и надо вывести их на страницу, как только цикл Do завершится полностью. Со страницы-то мы запускаем первый Do, но он завершается, не до конца отработав, когда мы первый раз вызываем эту грёбаную функцию. Потом, после callback, Do дорабатывает, но страница-то об этом не знает. Как подать ей сигнал? В цикле проверять поля Work? Не по TCP же сообщения кидать? Доступа к элементам страницы нет, выдаётся исключение Invalid cross-thread access. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.01.2015, 22:34
|
|||
|---|---|---|---|
|
|||
Callback, как послать сигнал основному потоку? |
|||
|
#18+
мои глаза........ честно говоря я нихрена не понял только то, что есть поток и надо делать вызовы из потока на обновление. самый просто вариант, это использовать BackgroundWorker, там есть методы для прогресса, результата и т.д. вариант посложнее: таски. для обновления значений в интерфейсе использовать INotifyPropertyChanged Но для начала, Вам надо понять, что такое WPF и почему приёмы WinForms в неприменимы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/search_topic.php?author=Soviet+Union&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
4ms |
get forum list: |
7ms |
get settings: |
5ms |
get forum list: |
7ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
30ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
22ms |
get tp. blocked users: |
1ms |
| others: | 448ms |
| total: | 533ms |

| 0 / 0 |
