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

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

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

Post by Tim Sobolev »

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

Code: Select all

...\Macros\modules\XRegister.lua:7: attempt to call global 'Macro' (a nil value)
ЧЯДНТ?
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

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

Post by Shmuel »

Функция Macro сделана доступной только на время загрузки макросов, причём только макрофайлам, но не модулям. Минимальное изменение в вашем коде, делающее его рабочим, это передача функции Macro параметром.
  1. -- в модуле:
  2.  
  3. local function PluginInfo(Macro, pluginInfo)
  4.  
  5.  
  6.  
  7. -- в макрофайле:
  8.  
  9. require("Register").PluginInfo(Macro, pluginInfo);
User avatar
Tim Sobolev
Posts: 729
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time
Been thanked: 7 times

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

Post by Tim Sobolev »

Спасибо, работает. Позже выложу что получилось :)
User avatar
Tim Sobolev
Posts: 729
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time
Been thanked: 7 times

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

Post by Tim Sobolev »

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

Чего не хватает в Lua макросах для полного счастья:
  • Событий панелей -- group="PanelEvent" (есть в FAR API)
  • Управления кейбаром панелей -- panel.SetKeyBar (не нашёл в FAR API)
UPD. Поправил обработку и регистрацию меток панели функциональных клавиш.
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

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

Post by Shmuel »

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

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