Страница 1 из 1
запуск несколько обработок по одной кнопке
Добавлено: 15 июн 2004, 13:54
чайничек
Как запустить выполнение нескольких обработок одновременно по нажатию одной кнопки?
Добавлено: 16 июн 2004, 00:55
Naeel Maqsudov
Если я правильно понял вопрос,

то можно.
Пример:
Положим на форму кнопку и горизонтальную полосу прокрутки с 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
Время выполнения обработчика занимает не менее нескольких секунд, однако на кнопку можно нажимать гораздо чаще. При этом Command1_Click выполняется как бы в несколько потоков. Секрет - использование DoEvents. Если убрать DoEvents, то программа будет как бы "зависать на несколько секунд пока не обрабтается одно нажатие.
Добавлено: 16 июн 2004, 05:49
чайничек
смысл немного другой: нажимаем кнопку один раз, а запускается 4 процесса.
Добавлено: 17 июн 2004, 08:16
Naeel Maqsudov
Для поддержки многопоточности в VB нужно использовать исключительно WINApi
Нарыл пример
http://www.codenet.ru/progr/vbasic/multi.php