Latest post of the previous page:
На этот макрос у меня не ругается. Нужно было пройти все макросы до тех пор пока не возникнет ошибка. Последний - и есть проблемный. Вы так сделали?MacroLib — Far Macro Library
MacroLib — Far Macro Library
Ошибку вызывает любой internal-макрос.
В т.ч. вновь созданный Shell_CtrlShiftI.lua:
В т.ч. вновь созданный Shell_CtrlShiftI.lua:
Code: Select all
Macro {
description="";
area="Shell"; key="CtrlShiftI";
flags="NoSendKeysToPlugins";
code="Keys(\"CtrlO\")";
}
-
- Posts: 3651
- Joined: Wed 23 Nov, 2005 11:11
- Location: Москва-Питер
- Has thanked: 2 times
- Been thanked: 19 times
MacroLib — Far Macro Library
Понятно, спасибо.
надо заменить
if m.FileName then
на
if m.FileName and m.action then
надо заменить
if m.FileName then
на
if m.FileName and m.action then
MacroLib — Far Macro Library
Составил с расширенной привязкой шорткатов (с каждым из модификаторов: Press, Release, Hold, Single, Double, Down, Up).
При их вызове по
Так и должно быть?
При их вызове по
CtrlShiftM
выводится следующий , отображающий не все макросы из набора. Так и должно быть?
- Attachments
-
- test23.7z
- тестовый набор макросов
- (642 Bytes) Downloaded 71 times
-
- Posts: 6840
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
MacroLib — Far Macro Library
Парочка наблюдений по версии 1.24:
1. Если путь к папке плагина содержит пробелы, то при запуске Фара видим .
2. На Windows XP SP3 x86 при запуске Фара получаем многократное , видимо на каждый нативный макрос. На Windows 7 этого нет.
1. Если путь к папке плагина содержит пробелы, то при запуске Фара видим .
2. На Windows XP SP3 x86 при запуске Фара получаем многократное , видимо на каждый нативный макрос. На Windows 7 этого нет.
MacroLib — Far Macro Library
выдаёт сообщение без указания модификатора:
А если этот макрос ещё и удвоить, и запускать его через диалог выбора, то сообщение и вовсе становится таким:
Code: Select all
╔══════════════════ CtrlShiftM ═══════════════════╗
║ проба определения шортката расширенной привязки ║
╟─────────────────────────────────────────────────╢
║ { OK } ║
╚═════════════════════════════════════════════════╝
Code: Select all
╔═══════════════════════ ☺ ═══════════════════════╗
║ проба определения шортката расширенной привязки ║
╟─────────────────────────────────────────────────╢
║ { OK } ║
╚═════════════════════════════════════════════════╝
- John Doe
- Бюрократ
- Posts: 13867
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
MacroLib — Far Macro Library
А как плагин узнаёт о перезагрузке макросов?
А проверяются ли флаги-условия?
И также надо помнить о EnableOutput и NoSendKeysToPlugins.
-
- Posts: 3651
- Joined: Wed 23 Nov, 2005 11:11
- Location: Москва-Питер
- Has thanked: 2 times
- Been thanked: 19 times
MacroLib — Far Macro Library
Видимо, да. Одно нажатие не может попасть под все модификаторы, зачем бы они тогда были нужны?
Так и должно быть, я об этом сразу написал.
Это поправлю.
-
- Posts: 3651
- Joined: Wed 23 Nov, 2005 11:11
- Location: Москва-Питер
- Has thanked: 2 times
- Been thanked: 19 times
MacroLib — Far Macro Library
Никак. При перезагрузке макросов FAR, надо вызвать перезагрузку макросов MacroLib. Пример макроса в комплекте.
Нет, только condition. Надо добавить.
-
- Posts: 3651
- Joined: Wed 23 Nov, 2005 11:11
- Location: Москва-Питер
- Has thanked: 2 times
- Been thanked: 19 times
MacroLib — Far Macro Library
У меня не воспроизводится. Если не затруднит - попробуйте отладочный Build. Перед запуском FAR запустите DBWinOle.exe, и пришлите лог с ошибкой.
- Attachments
-
- MacroLib_Deb.rar
- (217.14 KiB) Downloaded 83 times
-
- Posts: 6840
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
MacroLib — Far Macro Library
Поставил ночную сборку 4276 с новым профилем. Создал 1 макрофайл с 1 макросом
Macro { area="Shell"; key="F1"; action=function() end; }
Вот репорт:
Code: Select all
"C:\fartest\Plugins\MacroLib\MacroLib.dll" (MacroLib, ver: 1.24)
(Addr: 40F00000, Delphi5 Frames Asserts Unicode)
ExecMacro: @"C:\fartest\Plugins\MacroLib\MacroLib.lua"
ExecMacro: if MacroLib then MacroLib.UpdateLuaMacros() end
Error at 40F0C36B, EExternal: External exception C0000005 at 40F0C36B
: 40F057F5 : 40F05F87 : 40F06F0C : 40F01C25 : 00020000
-
- Posts: 3651
- Joined: Wed 23 Nov, 2005 11:11
- Location: Москва-Питер
- Has thanked: 2 times
- Been thanked: 19 times
MacroLib — Far Macro Library
При наличии макроса с модификатором Press макросы с другими модификаторами либо совсем не работают, либо конфликтуют с ним (Single и Down) и, соответственно, вызываются только через диалог выбора. А хотелось бы, чтобы и другие макросы с модификаторами работали вкупе с Press. Сейчас мне особенно интересны макросы с Hold и с Double.
То, что такое в принципе возможно, показывает пример применения макроса MacroEx. После его установки возможно создать три lua-макроса на один шорткат: без модификатора, с Hold и с Double. И каждый из них будет работать. И это весьма удобно и полезно.
То, что такое в принципе возможно, показывает пример применения макроса MacroEx. После его установки возможно создать три lua-макроса на один шорткат: без модификатора, с Hold и с Double. И каждый из них будет работать. И это весьма удобно и полезно.
- John Doe
- Бюрократ
- Posts: 13867
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
MacroLib — Far Macro Library
Видимо баг, т.к. Press c Hold и Double должны прекрасно сочетаться.
Но какую цель вы преследуете назначая макросы одновременно на Single, Press и Down?
Чем вообще Single отличается от Press и Down?
Но какую цель вы преследуете назначая макросы одновременно на Single, Press и Down?
Чем вообще Single отличается от Press и Down?
-
- Posts: 3651
- Joined: Wed 23 Nov, 2005 11:11
- Location: Москва-Питер
- Has thanked: 2 times
- Been thanked: 19 times
MacroLib — Far Macro Library
На одну комбинацию можно повесить 2 макроса Hold и Release. Третий - уже непонятно. Теоретечески, можно использовать комбинацию из 3-х: Down/Hold/Relese, но при этом всегда будут срабатывать пары макросов Down-Release или Down-Hold, практическое применение этому довольно ограничено.
Single - это не Double. Применяется для нажатий мыши, чтобы не конфликтовали макросы на одинарное и двойное нажатие
Single - это не Double. Применяется для нажатий мыши, чтобы не конфликтовали макросы на одинарное и двойное нажатие