Почему команда не запускается после SetTimer? - PullRequest
2 голосов
/ 14 апреля 2019

Этот код показывает окно сообщения:

Msgbox, Hello

SetTimer, CheckTime, 1000 ; updates every 1 second
CheckTime:
Return

Но это не так:

SetTimer, CheckTime, 1000 ; updates every 1 second
CheckTime:
Return

Msgbox, Hello

Почему это так?Я не вижу ничего особенного в команде SetTimer .

1 Ответ

2 голосов
/ 14 апреля 2019

Сценарий прекращает выполнение новых строк всякий раз, когда находит первое ключевое слово Return.

Все, что находится после первого верхнего уровня Return, будет игнорироваться при первоначальном выполнении, если только оно не было вызвано из вышеуказанных строк..

Посмотрите на этот фрагмент кода:

MsgBox, I'll run!!!

MsgBox, Me 2!!!

Gosub, PastReturn

overPastReturn()

MsgBox, Me 5!!!

Return ; This is the first Top Level Return. Code Stops Executing Here.

MsgBox, Not Me!!!

PastReturn:
    MsgBox, Me 3!!!
Return ; This Return Belongs to PastReturn Label.

MsgBox, Not Me 2!!!

overPastReturn(){
    MsgBox, Me 4!!!
}
...