MsgBox не дает работать таймеру, посоветуйте выход

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Pantalone
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 687
Зарегистрирован: 12.11.2005 (Сб) 16:46
Откуда: Сапог

MsgBox не дает работать таймеру, посоветуйте выход

Сообщение Pantalone » 16.11.2007 (Пт) 1:27

Использую стандартный VB таймер, который работает каждые пол-секунды, при появлении MsgBox он замирает, что весьма критично. Есть какой-то выход кроме как использовать вместо MsgBox свои немодальные окна?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 16.11.2007 (Пт) 1:56

Есть. Показ сообщения в другом потоке. Хотя, не факт, что вызов rtcMsgBox не блокирует таймеры.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

Сообщение ANDLL » 16.11.2007 (Пт) 11:40

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

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 16.11.2007 (Пт) 12:07

ANDLL, +1
Изображение

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 16.11.2007 (Пт) 13:00

Понимаешь, Pantalone, смысл msgbox'ов как раз в том, чтобы приостанавливать работу программы, когда дальнейшая работа алгоритма зависит от выбора пользователя. Если процесс непрерывен, условнонезависим, и нужно показать информационное сообщение, то надо это делать как-то альтернативно, например балуном, или надписью на основной форме, или в статусной строке. Неблокирующих вариантов гораздо больше, чем блокирующих. Любые top-level окна, модальные или нет (кстати можно показать модально окно из другого таймера, включенного когда надо из первого, первый при этом не заблокируется), в данном случае излишни и раздражают.
Лучший способ понять что-то самому — объяснить это другому.

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Re: MsgBox не дает работать таймеру, посоветуйте выход

Сообщение Saturn.65 » 19.11.2007 (Пн) 10:14

Pantalone писал(а): Есть какой-то выход кроме как использовать вместо MsgBox свои немодальные окна?

Есть. Для преодоления данной проблемы существует API-функция MessageBox.
Вложения
API-функция MessageBox.zip
API-функция MessageBox.
(1.8 Кб) Скачиваний: 55


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 16

    TopList  
cron