Синхронное выполнение кода сразу в двух формах - VB
Формулировка задачи:
Form1 выполняет определенные задачи а Form2 вторичные. Вопрос: Как сделать так, что бы бы форма1 по началу запустила форму2. после того, форма 1 и 2 будет работать одновременно. как так сделать?
попробовал Form2.Show он выполняет только форму 2. но код который далее написан на форме 1 не выполняется.
И еще пацаны, в одной форме используется постоянный цикл. поэтому он не переходит к следующий форме, как можно сделать так. что бы использовались все формы одновременно с постоянным циклом, чтобы программа не ждала пока там цикл у нее закончится. ?
Решение задачи: «Синхронное выполнение кода сразу в двух формах»
textual
Листинг программы
'Обработчик "тиков" таймера. - Это функция обратного вызова. 'Вызывается при обработке сообщения WM_Timer, посылаемого таймером. 'В эту процедуру следует вставить свой код, который будет выполняться 'каждый раз, когда срабатывает таймер. Public Sub ProcOnTimer( _ ByVal hWnd As Long, ByVal Msg As Long, _ ByVal idEvent As Long, ByVal TimeSys As Long _ ) 'Код, который должен быть выполнен при "тике" таймера: 'Начало. '... '... '... 'В качестве примера, в окне "Immediate" печатаются строки. Debug.Print "Таймер ", Cnt, "HWnd = " & CStr(hWnd) '... 'Конец. 'Код, приведённый ниже - необязательный. Он показан в качестве примера случая, когда 'есть потребность в формулировке некоторого условия, по которому процедура-обработчик '"тика" таймера сама должна принять решение об уничтожении таймера. Cnt = Cnt + 1 If Cnt >= 10 Then KillTimer 0&, idEvent End Sub 'Создание таймера. Эту процедуру надо запустить для создания таймера. 'Сразу после создания таймер начнёт работать. 'В этой процедуре сделана защита от создания нового таймера при неуничтоженном прежнем таймере. 'Если такой код не добавить, то через вызов подобной процедуры можно создавать один за другим множество 'таймеров. При этом, все созданные таймеры продолжат работу. 'Причём доступ к ним, кроме последнего, будет потерян, так как при создании последнего таймера, 'в переменную IdTimer будет записан его системный идентификатор. И ID других таймеров 'окажутся неизвестными. Если требуется создавать несколько одновременно работающих таймеров - в этом 'случае требуется доработка кода. Public Sub CreateTimer() If IdTimer <> 0 Then MsgBox _ "Таймер уже создан ранее! Уничтожить существующий таймер" _ + " вы можете, вызвав процедуру DelTimer()." Exit Sub End If Cnt = 0 'Здесь параметр 1000& задаёт интервал срабатываний таймера в миллисекундах. 'В данном случае этот интервал равен 1000 миллисекунд = 1 секунда. IdTimer = SetTimer(0&, 0&, 1000&, AddressOf ProcOnTimer) End Sub 'Уничтожение таймера. Эту процедуру надо запустить для уничтожения таймера. Public Sub DelTimer() If IdTimer = 0 Then Exit Sub KillTimer 0&, IdTimer IdTimer = 0 End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д