Вынос функционала в модуль

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
Post Reply
User avatar
Tim Sobolev
Posts: 703
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time

Вынос функционала в модуль

Post by Tim Sobolev » Sun 17 Nov, 2013 03:24

Вынес функцию в При получаю ошибку:

Code: Select all

...\Macros\modules\XRegister.lua:7: attempt to call global 'Macro' (a nil value)
ЧЯДНТ?

Shmuel
Posts: 5836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 22 times
Been thanked: 213 times

Re: Вынос функционала в модуль

Post by Shmuel » Sun 17 Nov, 2013 06:29

Функция Macro сделана доступной только на время загрузки макросов, причём только макрофайлам, но не модулям. Минимальное изменение в вашем коде, делающее его рабочим, это передача функции Macro параметром.
  1. -- в модуле:
  2. local function PluginInfo(Macro, pluginInfo)
  3.  
  4. -- в макрофайле:
  5. require("Register").PluginInfo(Macro, pluginInfo);

User avatar
Tim Sobolev
Posts: 703
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time

Re: Вынос функционала в модуль

Post by Tim Sobolev » Sun 17 Nov, 2013 13:43

Спасибо, работает. Позже выложу что получилось :)

User avatar
Tim Sobolev
Posts: 703
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time

Re: Вынос функционала в модуль

Post by Tim Sobolev » Fri 22 Nov, 2013 22:27

Собственно вот что получилось: Регистрация хоткеев на плагины и скрипты

Чего не хватает в Lua макросах для полного счастья:
  • Событий панелей -- group="PanelEvent" (есть в FAR API)
  • Управления кейбаром панелей -- panel.SetKeyBar (не нашёл в FAR API)
UPD. Поправил обработку и регистрацию меток панели функциональных клавиш.

Shmuel
Posts: 5836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 22 times
Been thanked: 213 times

Re: Вынос функционала в модуль

Post by Shmuel » Sat 23 Nov, 2013 01:34

Tim Sobolev wrote:Чего не хватает в Lua макросах для полного счастья:
  • Событий панелей -- group="PanelEvent" (есть в FAR API)
  • Управления кейбаром панелей -- panel.SetKeyBar (не нашёл в FAR API)
И то, и другое есть в Фар API только для плагинов, создающих свои панели, и только для этих панелей. Поскольку макросы своих панелей не создают, то и функциональность эта им недоступна.

Post Reply

Return to “Нужна помощь”