1

Тема: AHK: Скрипт перестает реагировать на горячие клавиши

Через какое-то время работы скрипт перестает реагировать на горячие клавиши.
При этом в view->key history тоже новые клавиши не отображаются.
Пробовал и клавиатурный хук устанавливать - все без толку.
Кушает в это время он около 16,000K.
В чем может быть причина и как побороть?

2

Re: AHK: Скрипт перестает реагировать на горячие клавиши

Malcev пишет:

В чем может быть причина и как побороть?

Зацикливается; найти, где именно, исправить.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Скрипт перестает реагировать на горячие клавиши

В скрипте идет цикл с парсингом кучи страниц с нета.
Цикл работает - при появлении новых страниц msgbox появляется.
Горячая кнопка - просто обычный вызываемый msgbox, которая не работает даже, когда идет sleep между парсингом длительностью в 1 минуту.
При этом вначале работает, а потом перестает.
Может это быть связано с запросами WinHttpRequest?

4

Re: AHK: Скрипт перестает реагировать на горячие клавиши

Нечасто с ними работаю. Вроде, может быть, что скрипт зависает, когда на запрос долго нет ответа. Могу только посоветовать провести дебаггинг с последовательным закомментированием потенциально проблемных участков кода.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5 (изменено: Alectric, 2015-11-12 17:48:09)

Re: AHK: Скрипт перестает реагировать на горячие клавиши

Я обычно всюду tooltip'ы вставляю с переменными, включая a_tickcount, сразу становится понятно где "зависает".

А вообще, советую вместо больших по времени sleep'ов использовать самопальную функцию wait(), содержащую цикл со sleep,10.

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

6

Re: AHK: Скрипт перестает реагировать на горячие клавиши

Так скрипт не зависает.
Цикл идет, новые найденные ссылки в логе создаются.
Просто с увеличением потребляемой памяти скрипт перестает реагировать на любые нажатия с клавиатуры.
Пытаюсь написать несложный пример, чтобы можно было выставить на форум и протестировать.

7 (изменено: Malcev, 2015-11-12 19:16:37)

Re: AHK: Скрипт перестает реагировать на горячие клавиши

Проапдейтился с 1.1.22.07 на 1.1.22.09
Может в этом была проблема, хотя таймеров у меня нету:

1.1.22.09 - November 11, 2015
Fixed some issues with SetTimer Delete.

    KeyHistory's timer count erroneously included deleted timers.
    Calling KeyHistory within a thread started by a timer crashed the script if the timer had been deleted but not turned off.
    Deleting the most recently created timer prevented subsequently created timers from working unless ALL timers were deleted.

8 (изменено: serzh82saratov, 2015-11-12 19:20:36)

Re: AHK: Скрипт перестает реагировать на горячие клавиши

Malcev пишет:

Кушает в это время он около 16,000K.

16мб как бы ни о чём должно быть.

Malcev пишет:

Может это быть связано с запросами WinHttpRequest?

А запросы асинхронные?

Кстати для памяти может помочь:


#NoEnv
ListLines, Off
#KeyHistory, 0
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

9

Re: AHK: Скрипт перестает реагировать на горячие клавиши

А запросы асинхронные?

Да и так и так пробовал.
Потестирую на новой версии AHK.

10

Re: AHK: Скрипт перестает реагировать на горячие клавиши

Кстати вчера на v1.1.22.07 были проблемы с хоткеями, тоже не работали, помогла перезагрузка.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

11

Re: AHK: Скрипт перестает реагировать на горячие клавиши

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