Асинхронность макросов, запущенных из CtrlG
- John Doe
- Бюрократ
- Posts: 13855
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
Асинхронность макросов, запущенных из CtrlG
Простейший пример
Выделить несколько файлов
CtrlG
lm:post Keys("F7")
Enter
Ожидается, что диалог создания папки появится для каждого выделенного файла, однако это не так.
Диалог появится один раз.
В связи с этим 2 вопроса:
1. Насколько эта ситуация сейчас в фаре учитывается?
В том плане, не упадёт ли фар от таких "злоупотреблений"
2. Можно ли сделать так, чтобы макросы выполнялись синхронно, т.е. чтобы фар ждал возврата управления, после чего продолжал бы "Apply to" дальше?
Update
http://bugs.farmanager.com/view.php?id=2685
Выделить несколько файлов
CtrlG
lm:post Keys("F7")
Enter
Ожидается, что диалог создания папки появится для каждого выделенного файла, однако это не так.
Диалог появится один раз.
В связи с этим 2 вопроса:
1. Насколько эта ситуация сейчас в фаре учитывается?
В том плане, не упадёт ли фар от таких "злоупотреблений"
2. Можно ли сделать так, чтобы макросы выполнялись синхронно, т.е. чтобы фар ждал возврата управления, после чего продолжал бы "Apply to" дальше?
Update
http://bugs.farmanager.com/view.php?id=2685
- zg
- zero-gravity
- Posts: 6035
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: Асинхронность макросов, запущенных из CtrlG
подозреваю, что так было всегда и связано это с асинхронностью MCTL_SENDSTRING. если дело в этом, то можно пообсуждать в соответствующем разделе.
- zg
- zero-gravity
- Posts: 6035
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: Асинхронность макросов, запущенных из CtrlG
но вообще конкретно у luamacro возможность выполнить макрос синхронно есть уже сейчас.
- John Doe
- Бюрократ
- Posts: 13855
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
Асинхронность макросов, запущенных из CtrlG
Code: Select all
shmuel 07.04.2015 00:27:31 +0200 - build 502
1. M#2685: Выполнять заданные в командной строке lua: скрипты синхронно.
macroapi_manual.ru.chm wrote:Работа с командной строки
Примечание 2:
Вместо префиксовlua:
иmoon:
могут использоваться соответственно префиксыluas:
иmoons:
. В этом случае макрос не создаётся, а производится немедленное (“синхронное”) исполнение кода. Если код завершается нормально, то величинаCmdLine.Result
содержит таблицу с массивом возвращённых величин, а поле n этой таблицы – количество этих величин. В случае прерывания кода по ошибке, значениеCmdLine.Result
равно nil.
- John Doe
- Бюрократ
- Posts: 13855
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
Асинхронность макросов, запущенных из CtrlG
Переменной плохая идея, а вот ключом было бы имхо действительно лучше.
- John Doe
- Бюрократ
- Posts: 13855
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
Асинхронность макросов, запущенных из CtrlG
Мне прежде всего не нравится что имена новых префиксов "неговорящие", тогда как имя ключа можно сделать понятным.
Ну и само размножение префиксов ради функций, ненужных большинству пользователей.
Честно говоря, я пока не придумал сценарий, где понадобилась бы синхронность в её текущей реализации.
(из обсуждения на багтрекере следует что для моих задач надо завести ещё два отдельных тикета).
Ну и само размножение префиксов ради функций, ненужных большинству пользователей.
Честно говоря, я пока не придумал сценарий, где понадобилась бы синхронность в её текущей реализации.
(из обсуждения на багтрекере следует что для моих задач надо завести ещё два отдельных тикета).
-
- Posts: 6836
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Асинхронность макросов, запущенных из CtrlG
Если возможностей всего плагинового API + большей части макросного API недостаточно, чтобы придумать сценарий (для того же user menu), то я молчу.
И в чём проблема?
- John Doe
- Бюрократ
- Posts: 13855
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
Асинхронность макросов, запущенных из CtrlG
Никаких проблем, оформлю тикеты в ближайшее время.
Я немного о другом: допустим в пользовательском меню (и "применить команду") будут внесены изменения, позволяющие выполнять макросы последовательно без ограничений на функции.
Останутся ли нужны тогда luas: и moons:?
- zg
- zero-gravity
- Posts: 6035
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Асинхронность макросов, запущенных из CtrlG
сейчас есть префикс+ код. добавляя ключи, мы добавляем новый язык с изначально стихийным развитием, который надо поддерживать, править баги и т.д. вы будете это делать?John Doe wrote:Мне прежде всего не нравится что имена новых префиксов "неговорящие", тогда как имя ключа можно сделать понятным.
т.е. вы попросили, вам сделали, вы теперь недовольны. ок. все старые и новые виши от вас будут закрываться.John Doe wrote:Ну и само размножение префиксов ради функций, ненужных большинству пользователей.
Честно говоря, я пока не придумал сценарий, где понадобилась бы синхронность в её текущей реализации.
(из обсуждения на багтрекере следует что для моих задач надо завести ещё два отдельных тикета).
- John Doe
- Бюрократ
- Posts: 13855
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
Асинхронность макросов, запущенных из CtrlG
Сейчас не только код: не забывайте @ и =
В любом случае решать не мне, да и вопрос не настолько принципиальный.
Какой лупой вы это рассмотрели?
Ага, вы меня ещё недавно на форуме забанить грозились. Вперёд.zg wrote:ок. все старые и новые виши от вас будут закрываться.
-
- Posts: 6836
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Асинхронность макросов, запущенных из CtrlG
Их необходимость в этом случае сильно уменьшится. Но давайте сначала доживём до реализации "допустим", а там видно будет.
Асинхронность макросов, запущенных из CtrlG
Когда я писал о переменной, я как раз думал, что большенству пользователей при вызове lua из командной строки нужены функции и переменные lua-макросов и синхронный режим работы, поэтому хотелось бы, что бы префикс lua: мог бы использоваться и для синхронного режима. Однако по умолчанию должен использоваться асинхронный режим в целях совместимости. Если Вам не нравится переменная можно добавить параметр в initlua.ini ( может быть перепутал имя файла). Или оставить все как есть.