Что нового

[Автоматизация] постоянно активная функция

NoMad73rus

Продвинутый
Сообщения
124
Репутация
80
Давно задаюсь вопросом -можно ли организовать вызов функции из любого места скрипта,подобно тому как это происходит при использовании
Код:
HotKeySet

Только вызывать её не хот кеем, а при некотором условии, ну например по таймеру. Пока приспособился запускать дополнительный ехе-шник, который "нажимает" хот кеи, по которым срабатывают функции в основной программе. Это конечно работает, но хотелось бы иметь один процес, и один ехе-шник, а не кучу.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
NoMad73rus [?]
Давно задаюсь вопросом -можно ли организовать вызов функции из любого места скрипта
Функцию можно вызвать в любом месте скрипта! На то она и функция!
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,486
NoMad73rus [?]
Только вызывать её не хот кеем, а при некотором условии, ну например по таймеру
См. в справке _Timer_SetTimer.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
OffTopic:
а у меня что-то не вяжутся слова "в любом месте" и "по таймеру".
 
Автор
N

NoMad73rus

Продвинутый
Сообщения
124
Репутация
80
Попробую объяснить: программа работает - делает то, что должна. И в этот момент происходит некоторое событие, реакцией на которое должен быть запуск функции. В случае с ХотКейСет это событие нажатие кнопки(ок). Но у меня события другие, вот и приходится делать отдельный экзешник отслеживающий эти события и посылающий виртуальные нажатия. Потому что тыкать опрос этих событий в каждую петлю основного скрипта не вариант, ибо и так там хватает работы. То есть нужен параллельный процесс, можно организовать такое внутри одного скрипта, или ни куда не деться от второго ехе?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
NoMad73rus
очень расплывчато. что-то должно, какое-то событие. до этого вообще писал, что нужно не событие, а таймер. ты уж определись, и опиши точно задачу. все таки события бывают разные. некоторые можно отслеживать с помощью установленных флагов, некоторые через посылаемые сообщения, и т.д.
а вообще, по общим соображениям, мне кажется тебе надо использовать
Код:
AdlibRegister()
 
Автор
N

NoMad73rus

Продвинутый
Сообщения
124
Репутация
80
Kaster сказал(а):
NoMad73rus
очень расплывчато. что-то должно, какое-то событие. до этого вообще писал, что нужно не событие, а таймер. ты уж определись, и опиши точно задачу. все таки события бывают разные. некоторые можно отслеживать с помощью установленных флагов, некоторые через посылаемые сообщения, и т.д.
а вообще, по общим соображениям, мне кажется тебе надо использовать
Код:
AdlibRegister()
Большое спасибо - это как раз то что нужно :smile: Простите если моё объяснение было расплывчатым :-[
 

XM

Знающий
Сообщения
70
Репутация
8
Интересно... :smile:
Так никто ничего и не понял... Ни автор, что за функцию ему подсунули, ни ответчики, что практически "наугад" подсказывали решения....

Забавно, как здесь среагировал Kaster:
NoMad73rus:
Попробую объяснить: программа работает - делает то, что должна. И в этот момент происходит некоторое событие, реакцией на которое должен быть запуск функции....

И тут вдруг очевидное решение:
Kaster:
...мне кажется тебе надо использовать
Код:
AdlibRegister()
NoMad73rus:
Большое спасибо - это как раз то что нужно Простите если моё объяснение было расплывчатым

В таком случае, мн. ув. Kaster, можно ли у вас уточнить (или узнать), что представляет собой эта функция AdlibRegister и и каким образом она повлияла на решение задачи, что предложил автор темы??
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
AdlibRegister() это что-то вроде Listener!
Но, честно говоря, из объяснения автора, темы, трудно было понять, о чём речь!
Garrett сказал(а):
NoMad73rus [?]
Давно задаюсь вопросом -можно ли организовать вызов функции из любого места скрипта
Функцию можно вызвать в любом месте скрипта! На то она и функция!
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Vendor [?]
OffTopic:
Забавно, как здесь среагировал Kaster:
рад что позабавил. обращайся, ежели что ;)

В таком случае, мн. ув. Kaster, можно ли у вас уточнить (или узнать), что представляет собой эта функция AdlibRegister и и каким образом она повлияла на решение задачи, что предложил автор темы??
я бы рад, да вот только не хочется заново изобретать велосипед, ибо эта функция широко описана в справке к актуальной версии интерпретатора и может быть в полной мере почерпнута оттуда. ничего нового я не смогу сказать. но на всякий случай, если ты ищешь в наиболее "православной" справке от г-на Иванова, то глянь там на функцию
Код:
AdlibEnable()

она имеет весьма схожую структуру и функционал с вышеупомянутой
Код:
AdlibRegister
 
Автор
N

NoMad73rus

Продвинутый
Сообщения
124
Репутация
80
Vendor сказал(а):
Интересно... :smile:
Так никто ничего и не понял... Ни автор, что за функцию ему подсунули, ни ответчики, что практически "наугад" подсказывали решения....

В таком случае, мн. ув. Kaster, можно ли у вас уточнить (или узнать), что представляет собой эта функция AdlibRegister и и каким образом она повлияла на решение задачи, что предложил автор темы??

Задача была в выполнении действий в ответ на не предвиденные события. Чтобы понять что за функцию мне подсказали, понадобилось 30 секунд, так долго потому, что в православной справке она иначе обозвана ).
 
Верх