Far2->Far3 wrapper

Место, где разработчики плагинов могут поделиться своим опытом.
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: Far2->Far3 wrapper

Post by Maximus5 »

Latest post of the previous page:

ver 1.4.2025
[%] Исправлен ACTL_GETFARVERSION (падал AltHistory)
[%] Работает OpenW(OPEN_DIALOG), aka DialogTools
[%] Работает ProcessDialogEventW, aka DlgSelect
[%] Работает ACTL_GETWINDOWINFO
[%] Исправлен DM_GETDLGITEM
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: Far2->Far3 wrapper

Post by Maximus5 »

ver 1.5.2026
[%] Правки в DialogApi
[+] FarApi(Get|Free)DirList, FarApi(Get|Free)PluginDirList
[+] FarRecursiveSearch
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: Far2->Far3 wrapper

Post by Maximus5 »

ver 1.6.2027
[%] FFCTL_ISFILEINFILTER.
[*] Создавать вручную ini-файл (или копировать шаблон) больше не нужно.
Генерить GUID-ы - тоже. Если ini-файла нет, враппер при первом запуске
выполнит поиск Far2 плагина в своей папке, и создаст ini-файл заполненный
значениями по умолчанию и уникальными GUID-ами. При желании, файл можно
подправить (например поля Title/Description/Author).
[!] Если ini-файл отсутствует - враппер ищет только *.dll и *.dl_ файлы.
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Far2->Far3 wrapper

Post by John Doe »

Maximus5 wrote:...и уникальными GUID-ами
В идеале чтобы гуид каждого отдельного плагина совпадал у всех пользователей враппера.
Что если генерить их не случайно а из имени dll?
User avatar
Kerberos464
Posts: 1239
Joined: Wed 29 Jul, 2009 20:24
Location: Saint-Petersburg
Has thanked: 19 times
Been thanked: 1 time

Re: Far2->Far3 wrapper

Post by Kerberos464 »

John Doe wrote:Что если генерить их не случайно а из имени dll?
за такое могут забанить =)
16.09.2012 14:35:28 +0200 - build 2799 - все нативные плагины перестали работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.
User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

Re: Far2->Far3 wrapper

Post by Centaur »

Не могут. RFC 4122 пункт 4.3.
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: Far2->Far3 wrapper

Post by Maximus5 »

Это бы прокатило, если бы была гарантия, что два разных плагина не могут иметь одинаковое имя.
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: Far2->Far3 wrapper

Post by Maximus5 »

Кроме того, можно сказать, что общеупотребительна практика дачи разных имен x86 и x64 сборкам одного плагина. Что означает различные гуиды по этому алгоритму. То есть уже смысл использования этого алгоритма отсутсвует.
User avatar
WARP ItSelf
Самый умный
Posts: 1011
Joined: Tue 15 Mar, 2005 23:19
Contact:

Re: Far2->Far3 wrapper

Post by WARP ItSelf »

Ну, по имени это не так печально. Опять же у всех примерно одинаковые GUID. Но поскольку сам GUID в данном случае ничего особого не даст (вызвать по нему плагин нельзя), то уникальность лучше одинаковости у всех. Ммм... или где там еще GUID плагина может в хозяйстве пригодиться?
Никто не знал, а я...
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: Far2->Far3 wrapper

Post by Maximus5 »

callplugin, привязка макросов к диалогу. Больше нигде вроде.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Far2->Far3 wrapper

Post by Max Rusov »

Autoupdate с plugring'a? ;)
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Far2->Far3 wrapper

Post by John Doe »

Автоапдейт неподдерживаемых плагинов врядли.
А вот в макросах самое оно, ведь помимо callplugin появятся и другие средства.
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: Far2->Far3 wrapper

Post by Maximus5 »

ver 1.7.2027
[!] Враппер разделен на две части.
Loader.dll - загрузчик, должен располагаться в каталоге плагина.
ini-файл, как и раньше, ищется с именем файла-загрузчика.
Far3Wrap.dll - основной код. Одна dll на все плагины. Этот файл
ищется загрузчиком в следующих _папках_:
1. папка с загрузчиком (Loader.dll)
2. папка, указанная в переменной окружения Far3WrapperPath
3. ... "%FARHOME%\Plugins"
4. ... "%FARHOME%"
[+] GetCustomDataW (поддержка C0 колонок)
[+] CallPlugin. В макросах можно использовать как новый формат (с гуидами), так и старый (если врапперу известен ИД плагина)
[%] Правки в DialogApi
[%] AnalyseW
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: Far2->Far3 wrapper

Post by Maximus5 »

ver 1.8.2027
[%] Не передавался OPEN_FROMMACROSTRING в OpenPluginW
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: Far2->Far3 wrapper

Post by Maximus5 »

Забыл в дистр кинуть. Батник, для автоматического копирования Loader.dll из корня по папкам плагинов.
Attachments
UpdateLoader.cmd.7z
(532 Bytes) Downloaded 153 times
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: Far2->Far3 wrapper

Post by Maximus5 »

ver 1.9.2027
[%] Глюк преобразования макросов с более чем одним вызовом CallPlugin
[%] OpenPluginW не работал, если плагин создавал несколько пунктов (F11/AltF1/AltF2)
[+] ACTL_POSTKEYSEQUENCE
Post Reply

Return to “Разработка плагинов”