Plugin.Unload

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
User avatar
Wave
Posts: 1693
Joined: Thu 04 Aug, 2005 18:47
Location: Харьков, Украина
Has thanked: 2 times
Been thanked: 9 times
Contact:

Plugin.Unload

Postby Wave » Thu 07 Mar, 2013 08:39

У меня почему-то не работает Plugin.Unload

Например, создаю пункт меню «Переключить плагины»

Code: Select all

macro:post
FARHOME = mf.env("FARHOME");
Plugin.Unload(FARHOME .. "\\Plugins\Multimedia\\pictureview\\0PictureView.dll");
Plugin.Load(FARHOME .. "\\Plugins.off\\Multimedia\\ImageView\\ImageView.dll");
Keys("CtrlPgDn CtrlR");
(разбивка по строкам для удобства)

Плагин, что должен загрузиться, загружается (да вообще с загрузкой никогда не испытывал проблем), а выгружаемый — не выгружается.

Или же в ассоциации файлов на dll вешаю такие ассоциации:

На Enter
macro:post Plugin.Load("!.!");

На CtrlPgDn
macro:post Plugin.Unload ("!.!");

Загрузка работает, выгрузка нет. Причём, не выгружаются ни те, что при загрузке фара, ни те, что перед этим загружались по энтеру. Кстати, в двойке эти же ассоциации у меня грузились-выгружались по путям !\!.! но в тройке это не сработало, пришлось на !.! поменять.

P.s. 3232 x86.
Пользуюсь ФАРом больше 15 лет © собирательный.

Shmuel
Posts: 4911
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 118 times

Re: Plugin.Unload

Postby Shmuel » Thu 07 Mar, 2013 08:53

У меня Plugin.Unload работает (по крайней мере, исчезает его пункт из меню плагинов).

User avatar
Wave
Posts: 1693
Joined: Thu 04 Aug, 2005 18:47
Location: Харьков, Украина
Has thanked: 2 times
Been thanked: 9 times
Contact:

Re: Plugin.Unload

Postby Wave » Thu 07 Mar, 2013 10:14

Пробовал без макросов, пробовал вообще удалить каталог профиля. Перепроверил, что LuaMacro и библиотеки Луа актуальные. Поставил ФАР3 с нуля из архива с полностью дефолтным набором. Напоследок откатился на stable. Один и тот же результат — плагины остаются в меню F11 и работают.

Эксперименты проводил через ком-строку macro:post.
Пользуюсь ФАРом больше 15 лет © собирательный.

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

Re: Plugin.Unload

Postby John Doe » Thu 07 Mar, 2013 10:17

Wave wrote:Кстати, в двойке эти же ассоциации у меня грузились-выгружались по путям !\!.! но в тройке это не сработало, пришлось на !.! поменять.
Врядли это в двойке работало, там вообще нет такой функции :-)
Всё проще: unload:"!\!.!"

А макросом было бы так: lm:post Plugin.Unload[[!\!.!]]

Shmuel
Posts: 4911
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 118 times

Re: Plugin.Unload

Postby Shmuel » Thu 07 Mar, 2013 10:22

Wave
А зачем

Code: Select all

Keys("CtrlPgDn CtrlR")
??

User avatar
Wave
Posts: 1693
Joined: Thu 04 Aug, 2005 18:47
Location: Харьков, Украина
Has thanked: 2 times
Been thanked: 9 times
Contact:

Re: Plugin.Unload

Postby Wave » Thu 07 Mar, 2013 10:39

John Doe wrote:Врядли это в двойке работало, там вообще нет такой функции :-)

Не совсем так. В двойке у меня исторически прижившись стоит плагин Plug Menu и в ассоциациях файлов стоит
PlugUnload:!\!.!
и
PlugLoad:!\!.!

работает.
Но только что перепроверил, точно так же работает
macro:post Plugin.Load("!.!");
и
macro:post Plugin.Unload ("!.!");

(!\!.! оказывается тоже не воспринимает, но !.! работает. Есть функция или нет, может, дело в том, что у меня bis25 сборка от Максимуса, если не ошибаюсь.)

John Doe wrote:Всё проще: unload:"!\!.!"

А макросом было бы так: lm:post Plugin.Unload[[!\!.!]]

Оба варианта работают, спасибо. А вообще — очередной затык перехода на тройку. Самый простой путь не нашёл, не догадался о нём. Сделал как понимал, тем более, что загрузка-то работает как надо. Но суммарно потратил на такую мелочь считая отписки на форуме — полчаса или больше.

Shmuel wrote:Wave
А зачем

Code: Select all

Keys("CtrlPgDn CtrlR")
??

Ну это мои личные паттерны использования. Самый что ни на есть черновой вариант. Т.е. этот пункт меню я преимущественно собирался вызывать сразу стоя на картинках, т.е. чтобы сразу картинка вторым плагином показалась. Ну а поскольку плуг с конэму не дружит, там надо после показа картинки её перерисовать. Правда, я забыл, что CtrlR в этом плуге не перерисовывает, а поворачивает, но говорю же, это был черновик. Дальше это поменяется на Keys("F11"); Menu.Select("Image view"); и далее по тексту. Но это шлифовка, которая в процессе использования ФАРа происходит.

Upd. А перерисовываться по макросу всё равно не желает. Или не успевает. Приходится вручную после вызова жать ноль или тильду. Или пробел-бекспейс.

Upd2. Нет, что-то с вызовом макроса выгрузки из меню пользователя неладно. Разбираюсь.
Last edited by Wave on Thu 07 Mar, 2013 10:56, edited 1 time in total.
Пользуюсь ФАРом больше 15 лет © собирательный.

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

Re: Plugin.Unload

Postby John Doe » Thu 07 Mar, 2013 10:51

Wave wrote:Оба варианта работают, спасибо.
Оба нормально выгружают?

User avatar
Wave
Posts: 1693
Joined: Thu 04 Aug, 2005 18:47
Location: Харьков, Украина
Has thanked: 2 times
Been thanked: 9 times
Contact:

Re: Plugin.Unload

Postby Wave » Thu 07 Mar, 2013 11:18

Нормально. Нашёл затык с меню F2 — пропустил удвоение слеша в одном месте.
Пользуюсь ФАРом больше 15 лет © собирательный.

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

Re: Plugin.Unload

Postby John Doe » Thu 07 Mar, 2013 12:25

В [[можно\не\удваивать]]
А вообще список плагинов стоит хранить отдельно (и строить автоматически).
Тогда в командной строке не придётся указывать пути.

User avatar
Wave
Posts: 1693
Joined: Thu 04 Aug, 2005 18:47
Location: Харьков, Украина
Has thanked: 2 times
Been thanked: 9 times
Contact:

Re: Plugin.Unload

Postby Wave » Thu 07 Mar, 2013 13:03

FARHOME = mf.env("FARHOME"); Plugin.Unload(FARHOME .. "\\Plugins.Off\\...
А как отдельно — максимум чего соображу, это отдельный файл с константами. Только также не разбирался, как правильно их в объявлять. macroapi_manual.chm пока пробежался по верхам, а luafar_manual.chm потыкал палочкой и в испуге закрыл. Спасаюсь методом научного тыка, примерами и конвертером.
Пользуюсь ФАРом больше 15 лет © собирательный.

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

Re: Plugin.Unload

Postby John Doe » Thu 07 Mar, 2013 13:08

Почитайте что-нибудь о луа, станет проще

User avatar
Wave
Posts: 1693
Joined: Thu 04 Aug, 2005 18:47
Location: Харьков, Украина
Has thanked: 2 times
Been thanked: 9 times
Contact:

Re: Plugin.Unload

Postby Wave » Sun 10 Mar, 2013 11:07

Блин, я хренею, сколько слешей после экранирования получается. Добился работающего макроса в ассоциациях файлов примерно таким образом:
lm:post TI = mf.env("FARHOME") .. "\\Plugins.off\\Internet\\TorrentInfo\\TorrentInfo.dll"; TI = mf.replace(TI, "\\", "\\\\"); Plugin.Load(TI); Keys("F11"); Menu.Select("Torrent info"); Keys("Enter");

Конечно, можно было бы не выпендриваться и просто положить плагин в каталог с работающими плугами, но мы не ищем лёгких путей :)

P.s. Зачем это в принципе надо — например, я не хочу постоянно грузить обсервер как лишний и довольно много хватающий архивный плагин, но на некоторых файлах вызывать именно его. Торрент инфо — это так, мелочёвка и обкатка принципов была.
Пользуюсь ФАРом больше 15 лет © собирательный.

Shmuel
Posts: 4911
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 118 times

Re: Plugin.Unload

Postby Shmuel » Sun 10 Mar, 2013 11:21

Wave wrote:TI = mf.replace(TI, "\\", "\\\\");

Это лишнее.

User avatar
Wave
Posts: 1693
Joined: Thu 04 Aug, 2005 18:47
Location: Харьков, Украина
Has thanked: 2 times
Been thanked: 9 times
Contact:

Re: Plugin.Unload

Postby Wave » Sun 10 Mar, 2013 12:06

Чорт, мистика. С утра без этого не работало, сейчас работает.
Пользуюсь ФАРом больше 15 лет © собирательный.

KonovaPE
Posts: 7
Joined: Wed 22 Oct, 2014 13:43

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

Postby KonovaPE » Wed 22 Oct, 2014 13:48

Ткните носом.
Хочется загружать (выгружать) плагины по мере надобности

User avatar
Wave
Posts: 1693
Joined: Thu 04 Aug, 2005 18:47
Location: Харьков, Украина
Has thanked: 2 times
Been thanked: 9 times
Contact:

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

Postby Wave » Wed 22 Oct, 2014 13:56

Plugin.Load(…) и Plugin.Unload(…), см. энциклопедию.
Пользуюсь ФАРом больше 15 лет © собирательный.


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

Who is online

Users browsing this forum: No registered users and 1 guest