Plugin.Unload

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
KonovaPE
Posts: 7
Joined: Wed 22 Oct, 2014 13:43

Можно ли из скрипта загрузить(выгрузить) плагин

Post by KonovaPE »

Latest post of the previous page:

Ткните носом.
Хочется загружать (выгружать) плагины по мере надобности
User avatar
Wave
Posts: 1885
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 14 times
Been thanked: 26 times

Можно ли из скрипта загрузить(выгрузить) плагин

Post by Wave »

Plugin.Load(…) и Plugin.Unload(…), см. энциклопедию.
Пользуюсь ФАРом больше 20 лет © собирательный.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Можно ли из скрипта загрузить(выгрузить) плагин

Post by John Doe »

Проще из меню пользователя, см. справку плагина FarCmds
KonovaPE
Posts: 7
Joined: Wed 22 Oct, 2014 13:43

Можно ли из скрипта загрузить(выгрузить) плагин

Post by KonovaPE »

Спасибо. Подправил скрипт
RClick выделяет файл/ длинный RClick вызывает контекстное меню (c) IgorZ
...
local EMPath = win.GetEnv("FARHOME").."\\Plugins\\EMenu\\EMenu.dll"
...

local function OnTimer()
timer:Close() timer = nil
if Mouse.Button==2 and (MouseClickOn==APanel.Path.."\\"..APanel.Current) then
Panel.Select(0,2,1)
Plugin.Load(EMPath,0)
far.MacroPost('Plugin.Command("'..EMenu..'","rclk_txt:")')
end
MouseClickOn = ""
end

Macro{
area="Shell"; key="MsRClick"; description="EMenu: mouse activation";
condition=function() return not timer end; action=function()
Plugin.Unload(EMPath);
Keys("MSRClick")
MouseClickOn = APanel.Path.."\\"..APanel.Current
timer = far.Timer(MinDelay,OnTimer)
end;
}
User avatar
SUSim
Posts: 1633
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 25 times

Можно ли из скрипта загрузить(выгрузить) плагин

Post by SUSim »

Я только не понимаю, зачем ВЫГРУЖАТЬ плагин??? (на счёт загрузки - польза есть -фар быстрее стартует, а вот выгружать... память что-ли экономить - ну так в наше время не критично...)
SimSU ··· ·· -- ··· ··-
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Можно ли из скрипта загрузить(выгрузить) плагин

Post by zg »

SUSim wrote:Я только не понимаю, зачем ВЫГРУЖАТЬ плагин???
чтобы не работал. например.
User avatar
cmd.exe
Posts: 378
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 181 times
Been thanked: 10 times
Contact:

Plugin.Unload

Post by cmd.exe »

Shmuel wrote: UserMenu доступен из редактора, если вызывать из макроса: mf.usermenu().
Я ждал несколько более интересных предложений, например про plugin.load/unload, который неработает совсем в последних билдах.

p.s.
Какой-же я некропостер однако...
I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it. (c) I Am Devloper
I know nothing except the fact of my ignorance. (с) Socrates
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Plugin.Unload

Post by Shmuel »

cmd.exe wrote:
Shmuel wrote: UserMenu доступен из редактора, если вызывать из макроса: mf.usermenu().
Я ждал несколько более интересных предложений, например про plugin.load/unload
Мой пост не был предложением чего бы то ни было. Следующий раз надо будет думать: а достаточно ли интересно то, что пишу?
User avatar
cmd.exe
Posts: 378
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 181 times
Been thanked: 10 times
Contact:

Plugin.Unload

Post by cmd.exe »

Shmuel wrote: Мой пост не был предложением чего бы то ни было. Следующий раз надо будет думать: а достаточно ли интересно то, что пишу?
Почему оказалось что очень интересно, трассировку сделал, получил на выходе:
I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it. (c) I Am Devloper
I know nothing except the fact of my ignorance. (с) Socrates
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Plugin.Unload

Post by zg »

cmd.exe wrote:Я ждал несколько более интересных предложений, например про plugin.load/unload, который неработает совсем в последних билдах.
всё прекрасно работает:

Code: Select all

Macro
  area:"Editor"
  key:"CtrlF5"
  action:->
    handle=far.FindPlugin far.Flags.PFM_GUID,win.Uuid "9860393A-918D-450F-A3EA-84186F21B0A2"
    path=far.GetPluginInformation(handle).ModuleName
    far.UnloadPlugin handle
    far.LoadPlugin  far.Flags.PLT_PATH,path
Post Reply

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