Переход на x64 - совместимость плагинов
- buniak_a_h
- Posts: 4268
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Переход на x64 - совместимость плагинов
Здравствуйте.
Перехожу с Far 3 x86 на ту же версию x64. Столкнулся (естественно) с тем, что некоторые плагины не загружаются. Беда в том, что делают они это молча. Есть ли какой-нибудь способ узнать, какие плагины не загрузились (чтобы либо поискать их 64-разрядные аналоги, либо написать заменитель на Lua)?
Перехожу с Far 3 x86 на ту же версию x64. Столкнулся (естественно) с тем, что некоторые плагины не загружаются. Беда в том, что делают они это молча. Есть ли какой-нибудь способ узнать, какие плагины не загрузились (чтобы либо поискать их 64-разрядные аналоги, либо написать заменитель на Lua)?
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Переход на x64 - совместимость плагинов
Я не очень понимаю суть вопроса.
Да, способ есть: предполагая, что у вас в папке plugins были только x86 плагины - все, вообще все они не загрузились.
Да, способ есть: предполагая, что у вас в папке plugins были только x86 плагины - все, вообще все они не загрузились.
- buniak_a_h
- Posts: 4268
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Переход на x64 - совместимость плагинов
Если бы! Я б не парился. Увы, многие - очень многие - загрузились. Даже совсем старые ASCII-шные, написанные для ФАР 1.74. Из оставшихся некоторые не жалко, а некоторых просто нет на плагринге в 64-разрядном варианте. Ну, для простеньких типа Active-Help я написал макро-заменитель. но хотелось бы получить что-нить типа ЛОГа, в котором было бы указано, удалось загрузить плагин, или нет. Думал, может, есть какой ключ типа /debug для такой ситуации
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Переход на x64 - совместимость плагинов
Если что-то загрузилось - значит у вас было месиво из разных битностей в одной папке (некоторые авторы любят пихать всё в один архив).
В этом случае пройдитесь по папкам вручную: там, где 2 dll и больше, 64 скорее всего есть, там, где одна - скорее всего, только x86.
Far владеет такой информацией ("это таки плагин, но не та платформа"), но пользователю её не показывает.
В этом случае пройдитесь по папкам вручную: там, где 2 dll и больше, 64 скорее всего есть, там, где одна - скорее всего, только x86.
Far владеет такой информацией ("это таки плагин, но не та платформа"), но пользователю её не показывает.
- buniak_a_h
- Posts: 4268
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Переход на x64 - совместимость плагинов
На самом деле для загруженных плагинов показывает (не сам - плагин PlugMenu). Причём, некоторые в этом списке видны (серым - недоступные), а некоторые не видны совсем (как будто ФАР даже не распознал, что это - вообще плагин).
Я не сомневался, что хотя бы во время загрузки плагинов эта инфа у ФАРа есть. Возможно, возникают какие-нить эксепшены. Или плагин не проходит проверку типа "28-й байт д.б. #31". Думал, может, есть какой ключ, позволяющий эту инфу получаь (может, и писателям плагинов удобно было бы).
Ну ладно, я так понял, что лезу в "запретное". Буду вручную перебирать. Просто их у меня было штук 50. Долгая история...
- HaRT
- Moderator
- Posts: 10866
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Переход на x64 - совместимость плагинов
Зачем?
Разве нельзя в 32-битном Фаре выполнить
far:about
, затем в 64-битном, а результаты сравнить?Фар есть инструмент, а не нянька. © 2009 DrKnS
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Переход на x64 - совместимость плагинов
Именно так.
Хотя, я слегка наврал - фар сначала проверяет битность, а уже потом "плагиновость" dll, так что он знает только то, что эта dll не загружаема, а не что это конкретно - плагин или какая-то его зависимость.
- buniak_a_h
- Posts: 4268
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Переход на x64 - совместимость плагинов
Ну вот, спасибо. Именно об этом я и спрашивал.
Вопрос закрыт
- buniak_a_h
- Posts: 4268
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Переход на x64 - совместимость плагинов
А как сохранить вывод этой команды? Что-то в StdOut не выводится; в буфер консоли не помещается... Командой edit:< не перехватывается...
- John Doe
- Бюрократ
- Posts: 13861
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Переход на x64 - совместимость плагинов
Мы не только любим пихать обе версии плагина в один архив но и считаем это правильным. К тому же как показала эта тема это верный мультиплатформенный подход
Переход на x64 - совместимость плагинов
Вот где источник термина - "dll hell" (Надо же не поленился)
- bigvax
- Posts: 28
- Joined: Fri 02 Jun, 2006 17:18
- Location: где-то во времени
- Has thanked: 3 times
- Been thanked: 1 time
- Contact:
Переход на x64 - совместимость плагинов
А можно, вот с этого места поподробнее...buniak_a_h wrote: ↑Thu 03 Aug, 2017 11:07 Ну, для простеньких типа Active-Help я написал макро-заменитель.
А то очень хочется замену Active-Help для x64.
Пробовал сам сделать, но как оказалось - LUA это как-то не мое...
В принципе, достаточно только для .chm - остальным не пользуюсь...
PS. Sorry, за оффтопик...
PPS. Буду благодарен...
Last edited by bigvax on Fri 01 Sep, 2017 19:42, edited 4 times in total.
Всегда виртуально Ваш, BigVax
- buniak_a_h
- Posts: 4268
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Переход на x64 - совместимость плагинов
http://forum.farmanager.com/viewtopic.php?f=15&t=10867bigvax wrote: ↑Fri 01 Sep, 2017 19:35А можно, вот с этого места поподробнее...buniak_a_h wrote: ↑Thu 03 Aug, 2017 11:07 Ну, для простеньких типа Active-Help я написал макро-заменитель.
А то очень хочется замену Active-Help для x64.
Пробовал сам сделать, но как оказалось - LUA это как-то не мое...
В принципе, достаточно только для .chm - остальным не пользуюсь...
PS. Sorry, за оффтопик...
PPS. Буду благодарен...
- С помощью *.hlp и *.chrm работает, вроде, нормально (в т.ч. и из модального редактора, если установлен 7-zip).
- Настройка описана в первом топике. Включает настройку "горячих клавиш" и путей к help-файлам в зависимости от расширения редактируемого файла. Для hlp и chm настраивать пункты "Команда для вызова помощи" и "Параметры команды" настраивать не рекомендую: для chm всё оказалось нетривиально (распаковать, найти, перейти...)
- В аутентичном плагине была ещё работа со словарями Мюллера - я не делал.
- buniak_a_h
- Posts: 4268
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Переход на x64 - совместимость плагинов
bigvax, Добавочка: хотя в настройках написано, что указывается маска файла, на самом деле указывается только список расширений в виде *.ext1,*.ext2 ... Когда я писал этот макрос, я ещё не знал про возможность проверки имени файла по списку масок (
far.ProcessName(far.Flags.PN_CMPNAMELIST, <MaskList>, <FileMask>)
). Для моих целей хватало этого (привязка Help-файла к расширению). Теперь я знаю, как сделать более универсально (именно по маске), но пока некогда было. Если надо - напишите, доделаю.