запуск несколько обработок по одной кнопке
Модератор: Naeel Maqsudov
Как запустить выполнение нескольких обработок одновременно по нажатию одной кнопки?
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Если я правильно понял вопрос,
то можно.
Пример:
Положим на форму кнопку и горизонтальную полосу прокрутки с Max=20
На кнопку напишем обработчик
Время выполнения обработчика занимает не менее нескольких секунд, однако на кнопку можно нажимать гораздо чаще. При этом Command1_Click выполняется как бы в несколько потоков. Секрет - использование DoEvents. Если убрать DoEvents, то программа будет как бы "зависать на несколько секунд пока не обрабтается одно нажатие.

Пример:
Положим на форму кнопку и горизонтальную полосу прокрутки с Max=20
На кнопку напишем обработчик
Код: Выделить всё
Private Sub Command1_Click()
HScroll1.Value = HScroll1.Value + 1
For i = 1 To 100000: DoEvents: Next
HScroll1.Value = HScroll1.Value - 1
End Sub
смысл немного другой: нажимаем кнопку один раз, а запускается 4 процесса.
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Для поддержки многопоточности в VB нужно использовать исключительно WINApi
Нарыл пример http://www.codenet.ru/progr/vbasic/multi.php
Нарыл пример http://www.codenet.ru/progr/vbasic/multi.php