1 (изменено: svoboden, 2018-01-18 14:34:43)

Тема: AHK: Pause в цикле

Народ, кто знает, почему в данном коде:

F12::
Pause % (i := !i) ? "off" : "on"
loop    
{
 send 2
 sleep 10
}
return

команда Pause срабатывает 6 раз?

2

Re: AHK: Pause в цикле

А сколько? У меня 6 раз или 12 как угодно. Смысл в том, что команда Pause останавливается на "off".

3 (изменено: stealzy, 2018-01-18 20:18:27)

Re: AHK: Pause в цикле

А ясно. 6 - ограничение одновременных потоков, либо циклов в стеке. Суть в том что вы не выходите из старого цикла по хоткею, он просто приостанавливается пока работает новый. Приостанавливается потому что в ahk может быть только один работающий цикл в момент времени.
Используйте таймеры. Хотите через цикл - выведите его из под потока хоткея.
http://forum.script-coding.com/viewtopic.php?id=13036

4

Re: AHK: Pause в цикле

Так можно:

#If loop
F12::
Pause toggle
return
#If

F12::
loop := 1
loop    
{
 send 2
 sleep 10
}
return

5 (изменено: svoboden, 2018-02-06 04:05:21)

Re: AHK: Pause в цикле

Спасибо за ответы, это да, можно по разному написать, но хотелось понять, почему именно 12 раз срабатывает пауза, когда в справке написано, что по умолчанию #MaxThreads равен 10?

6

Re: AHK: Pause в цикле

Чтобы это понять, после каждого нажатия f12 смотрите key history.

7 (изменено: svoboden, 2018-01-19 15:29:49)

Re: AHK: Pause в цикле

Malcev, а что там можно понять? 10 потоков нигде не нахожу в окне у себя.

8

Re: AHK: Pause в цикле

Up to two of the following types of threads may be created even when #MaxThreads has been reached: A hotkey, hotstring, OnClipboardChange, or GUI event if the first line of its subroutine is ExitApp, Pause, Edit, Reload, KeyHistory, ListLines, ListVars, or ListHotkeys

https://autohotkey.com/docs/commands/_MaxThreads.htm

9 (изменено: svoboden, 2018-01-19 16:37:22)

Re: AHK: Pause в цикле

Да уж, а в русской справке про какую-то процедуру пишут: http://www.script-coding.com/AutoHotkey/MaxThreads.html. Получается, что через гугл-переводчик и то точнее будет перевод.

10

Re: AHK: Pause в цикле

svoboden, посмотрите на дату создания русской справки и вопросы отпадут сами собой.

11 (изменено: svoboden, 2018-01-19 18:13:50)

Re: AHK: Pause в цикле

Malcev, не знаю, по-моему, там пропущены про дополнительные потоки информация. Вот глянуть бы английскую справку 2007 г.

12

Re: AHK: Pause в цикле

Глядите:
https://autohotkey.com/download/1.0/