b4a Вставьте таймер в код
Я француз, так что извините за мой английский, я делаю все возможное...
Я пытаюсь вызвать подпрограмму с именем timer1_tick, и я хочу, чтобы она остановила мою подпапку "b_reponse1_click". Проблема в том, что мой саб не ждет конца таймера...
Код:
Sub Process_Globals
Dim Timer1 As Timer
....
End Sub
Sub Activity_Create(FirstTime As Boolean)
Timer1.Initialize("Timer1", 1000) ' 1000 = 1 second
Timer1.Enabled = True
...
End Sub
Sub b_reponse1_Click
p= p + 1
If b_reponse1.Text = r5 Then
score = score + 1
b_reponse1.Color=Colors.Green
CallSub("",timer1_tick) ' Here i call sub timer1_tick
b_reponse1.Color=Colors.Gray
Else
b_reponse1.Color=Colors.Red
b_reponse1.Color=Colors.Gray
End If
If nbqpassee = 10 Then
Activity.RemoveAllViews
Activity.LoadLayout("lay_main")
Else
CallSub("",loadq)
End If
End Sub
Timer1 обратный отсчет, но мой sub b_reponse1_Click продолжает выполнение, не дожидаясь окончания таймера
Таймер:
Код:
Sub timer1_tick
t = t + 1
Log(t)
End Sub
Я пробовал это, но не решил мою проблему:
Код:
Sub timer1_tick
t = t + 1
Log(t)
timer1.Enabled = False
End Sub
Знаете ли вы, как я могу сделать, чтобы остановить мой sub b_reponse1_click около 1 секунды?
Спасибо заранее за ответ!
1 ответ
timer1_tick - обычная подпрограмма, как и любая другая подпрограмма. Это не заставит выполнение кода ждать.
Поиск по форуму для CallSubPlus. Вы можете разбить ваш текущий саб на два сабвуфера, а затем вызвать второй саб с CallSubPlus, который запустится после указанного времени.