Тема: AHK: перестает работать таймер
Помогите. Уже целый час бьюсь и пытаюсь понять почему таймер перестает работать?
Написал короткий код который показывает саму суть, что бы понятнее было.
Мне нужен Loop, который вызывает функции по очереди по кругу и нужен таймер который следил бы если что то происходит не так, то он вызывает функцию vernylsya() и начинает все сначало.
Для эмуляции что что-то не так надо нажать F2. После нажатия функция vernylsya() срабатывает, код переходит делать все с начало, но следящий таймер уже не работает.
#Persistent
SetTimer, stuck, 200
Goto, start
return
;эмулируем ситуацию
F2::
stuck := 1
return
start:
Loop
{
take()
sleep 500
otnes()
sleep 500
vernylsya()
sleep 500
}
return
stuck:
ToolTip, %A_TickCount% ,100,150, 2
if (stuck == 1)
{
ToolTip, Что-то пошло не так: %A_TickCount% ,100,150, 2
vernylsya()
stuck := 0
Goto, start
}
return
take()
{
ToolTip, Взял,100,100, 1
}
otnes()
{
ToolTip, отнес делаль,100,100, 1
}
vernylsya()
{
ToolTip, вернулся обратно,100,100, 1
}
Даже если засунуть таймер в Loop то все равно таймер не возобновляет работу
#Persistent
SetTimer, stuck, 200
Goto, start
return
;эмулируем ситуацию
F2::
stuck := 1
return
start:
Loop
{
SetTimer, stuck, 200
take()
sleep 500
otnes()
sleep 500
vernylsya()
sleep 500
}
return
stuck:
ToolTip, %A_TickCount% ,100,150, 2
if (stuck == 1)
{
ToolTip, Что-то пошло не так: %A_TickCount% ,100,150, 2
vernylsya()
stuck := 0
Goto, start
}
return
take()
{
ToolTip, Взял,100,100, 1
}
otnes()
{
ToolTip, отнес делаль,100,100, 1
}
vernylsya()
{
ToolTip, вернулся обратно,100,100, 1
}