MacroLib — Far Macro Library

Здесь можно обсудить ваш любимый плагин.
User avatar
sToLp
Posts: 729
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 37 times
Been thanked: 5 times

MacroLib — Far Macro Library

Post by sToLp » Sat 21 Feb, 2015 21:20

Latest post of the previous page:

По первой части: сообщения об ошибках прекратились.

По второй: макросов выдаёт много, больше дюжины (не стал дожидаться всех).


Max Rusov
Posts: 3600
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Been thanked: 7 times

MacroLib — Far Macro Library

Post by Max Rusov » Sat 21 Feb, 2015 21:41

На этот макрос у меня не ругается. Нужно было пройти все макросы до тех пор пока не возникнет ошибка. Последний - и есть проблемный. Вы так сделали?

User avatar
sToLp
Posts: 729
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 37 times
Been thanked: 5 times

MacroLib — Far Macro Library

Post by sToLp » Sat 21 Feb, 2015 22:08

Ошибку вызывает любой internal-макрос.

В т.ч. вновь созданный Shell_CtrlShiftI.lua:

Code: Select all

Macro {
  description="";
  area="Shell"; key="CtrlShiftI";
  flags="NoSendKeysToPlugins";
  code="Keys(\"CtrlO\")";
}

Max Rusov
Posts: 3600
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Been thanked: 7 times

MacroLib — Far Macro Library

Post by Max Rusov » Sat 21 Feb, 2015 22:18

Понятно, спасибо.

надо заменить

if m.FileName then

на

if m.FileName and m.action then

User avatar
sToLp
Posts: 729
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 37 times
Been thanked: 5 times

MacroLib — Far Macro Library

Post by sToLp » Sat 21 Feb, 2015 22:32

Поменял, и теперь всё в порядке.
Спасибо за оперативную починку!
И особая благодарность за продолжение развития плагина!

User avatar
sToLp
Posts: 729
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 37 times
Been thanked: 5 times

MacroLib — Far Macro Library

Post by sToLp » Sun 22 Feb, 2015 06:57

Составил с расширенной привязкой шорткатов (с каждым из модификаторов: Press, Release, Hold, Single, Double, Down, Up).

При их вызове по CtrlShiftM выводится следующий , отображающий не все макросы из набора.
Так и должно быть?
Attachments
test23.7z
тестовый набор макросов
(642 Bytes) Downloaded 31 times

Shmuel
Posts: 5202
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 148 times

MacroLib — Far Macro Library

Post by Shmuel » Sun 22 Feb, 2015 07:48

Парочка наблюдений по версии 1.24:
1. Если путь к папке плагина содержит пробелы, то при запуске Фара видим .
2. На Windows XP SP3 x86 при запуске Фара получаем многократное , видимо на каждый нативный макрос. На Windows 7 этого нет.

User avatar
sToLp
Posts: 729
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 37 times
Been thanked: 5 times

MacroLib — Far Macro Library

Post by sToLp » Sun 22 Feb, 2015 09:18

выдаёт сообщение без указания модификатора:

Code: Select all

╔══════════════════ CtrlShiftM ═══════════════════╗
║ проба определения шортката расширенной привязки ║
╟─────────────────────────────────────────────────╢
║                     { OK }                      ║
╚═════════════════════════════════════════════════╝
А если этот макрос ещё и удвоить, и запускать его через диалог выбора, то сообщение и вовсе становится таким:

Code: Select all

╔═══════════════════════ ☺ ═══════════════════════╗
║ проба определения шортката расширенной привязки ║
╟─────────────────────────────────────────────────╢
║                     { OK }                      ║
╚═════════════════════════════════════════════════╝

User avatar
John Doe
Бюрократ
Posts: 11251
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 14 times
Been thanked: 81 times

MacroLib — Far Macro Library

Post by John Doe » Sun 22 Feb, 2015 10:02

Max Rusov wrote: Для поддержки нативных LUA макросов больше не нужен макрос-хелпер
А как плагин узнаёт о перезагрузке макросов?
Max Rusov wrote: Вызов сделал иначе, без eval
А проверяются ли флаги-условия?
И также надо помнить о EnableOutput и NoSendKeysToPlugins.

Max Rusov
Posts: 3600
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Been thanked: 7 times

MacroLib — Far Macro Library

Post by Max Rusov » Sun 22 Feb, 2015 17:37

sToLp wrote: ...отображающий не все макросы из набора. Так и должно быть?
Видимо, да. Одно нажатие не может попасть под все модификаторы, зачем бы они тогда были нужны?
sToLp wrote:макрос выдает сообщение без указания модификатора
Так и должно быть, я об этом сразу написал.
sToLp wrote: если этот макрос ещё и удвоить, и запускать его через диалог выбора, то сообщение и вовсе становится таким:
Это поправлю.

Max Rusov
Posts: 3600
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Been thanked: 7 times

MacroLib — Far Macro Library

Post by Max Rusov » Sun 22 Feb, 2015 18:02

John Doe wrote: А как плагин узнаёт о перезагрузке макросов?
Никак. При перезагрузке макросов FAR, надо вызвать перезагрузку макросов MacroLib. Пример макроса в комплекте.
John Doe wrote: А проверяются ли флаги-условия?
Нет, только condition. Надо добавить.

Max Rusov
Posts: 3600
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Been thanked: 7 times

MacroLib — Far Macro Library

Post by Max Rusov » Sun 22 Feb, 2015 18:39

Shmuel wrote: На Windows XP SP3 x86 при запуске Фара получаем многократное
У меня не воспроизводится. Если не затруднит - попробуйте отладочный Build. Перед запуском FAR запустите DBWinOle.exe, и пришлите лог с ошибкой.
Attachments
MacroLib_Deb.rar
(217.14 KiB) Downloaded 41 times

Shmuel
Posts: 5202
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 148 times

MacroLib — Far Macro Library

Post by Shmuel » Sun 22 Feb, 2015 20:21

Max Rusov wrote: и пришлите лог с ошибкой.
Поставил ночную сборку 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

Max Rusov
Posts: 3600
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Been thanked: 7 times

MacroLib — Far Macro Library

Post by Max Rusov » Sun 22 Feb, 2015 21:10

Понятно. Это потому что у нет ни одного *.fmlua макроса. Fixed.

User avatar
sToLp
Posts: 729
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 37 times
Been thanked: 5 times

MacroLib — Far Macro Library

Post by sToLp » Mon 23 Feb, 2015 08:55

При наличии макроса с модификатором Press макросы с другими модификаторами либо совсем не работают, либо конфликтуют с ним (Single и Down) и, соответственно, вызываются только через диалог выбора. А хотелось бы, чтобы и другие макросы с модификаторами работали вкупе с Press. Сейчас мне особенно интересны макросы с Hold и с Double.

То, что такое в принципе возможно, показывает пример применения макроса MacroEx. После его установки возможно создать три lua-макроса на один шорткат: без модификатора, с Hold и с Double. И каждый из них будет работать. И это весьма удобно и полезно.

User avatar
John Doe
Бюрократ
Posts: 11251
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 14 times
Been thanked: 81 times

MacroLib — Far Macro Library

Post by John Doe » Mon 23 Feb, 2015 09:36

Видимо баг, т.к. Press c Hold и Double должны прекрасно сочетаться.

Но какую цель вы преследуете назначая макросы одновременно на Single, Press и Down?
Чем вообще Single отличается от Press и Down?

Max Rusov
Posts: 3600
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Been thanked: 7 times

MacroLib — Far Macro Library

Post by Max Rusov » Mon 23 Feb, 2015 09:46

На одну комбинацию можно повесить 2 макроса Hold и Release. Третий - уже непонятно. Теоретечески, можно использовать комбинацию из 3-х: Down/Hold/Relese, но при этом всегда будут срабатывать пары макросов Down-Release или Down-Hold, практическое применение этому довольно ограничено.

Single - это не Double. Применяется для нажатий мыши, чтобы не конфликтовали макросы на одинарное и двойное нажатие

Post Reply

Return to “Обсуждение плагинов”