Асинхронная обработка/вызов события?

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Асинхронная обработка/вызов события?

Сообщение Williams » 09.03.2009 (Пн) 11:17

Есть поток, в котором производятся некоторые расчеты и вызывается некоторое событие. Событие обрабатывается главной формой. При обработке этого события форма меняет поток через Me.Invoke и выводит другую форму .ShowDialog(Me). Проблема в том, что пока не будет обработано это событие, поток выполняющий расчеты не будет возобновлен, а ShowDialog останавливает выполнение (Show не подходит). Вопрос, как мне вызвать это событие асинхронно, чтобы расчетный поток не ждал пока форма обработает событие? Подозреваю что делегаты... Но хотелось бы уточнения
И вы думаете, что вас оставят в живых после прочтения этого поста?

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Re: Асинхронная обработка/вызов события?

Сообщение ANDLL » 09.03.2009 (Пн) 11:42

BeginInvoke
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Асинхронная обработка/вызов события?

Сообщение Williams » 10.03.2009 (Вт) 13:26

ANDLL писал(а):BeginInvoke


Ну begininvoke я знал, мне нужно было узнать каким образом это осуществить.

Нельзя RaiseEvent уже так, чтобы не ждать пока все обработают это событие? Потому что я решил это в обработчике события.

И еще, нужно ли EndInvoke, если значения не передаю?
И вы думаете, что вас оставят в живых после прочтения этого поста?

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Re: Асинхронная обработка/вызов события?

Сообщение ANDLL » 10.03.2009 (Вт) 13:54

Ну begininvoke я знал, мне нужно было узнать каким образом это осуществить.
Не понял
Нельзя RaiseEvent уже так, чтобы не ждать пока все обработают это событие
Нет нельзя. RaiseEvent - это просто вызов multycastdelegate(...)
И еще, нужно ли EndInvoke, если значения не передаю?
Не нужно, в MSDN написано
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: Асинхронная обработка/вызов события?

Сообщение Sebas » 10.03.2009 (Вт) 17:12

а чем воркер не подходит? В репорт прогресс вставить райз события...
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26

    TopList  
cron