Far 3: судьба плагинов от двойки

Хотите говорить о Far и не знаете, куда обратиться?
User avatar
WARP ItSelf
Самый умный
Posts: 1011
Joined: Tue 15 Mar, 2005 23:19
Contact:

Re: Вопрос по багам версии v2.0 build 1807

Post by WARP ItSelf »

Latest post of the previous page:

1. Враппер в целом это неплохо. Т.е. если авторы обновят свои плагины это вообще прекрасно, а если нет? (см. WinSCP).

2. Внутренняя реализация в Far это не совсем хорошо. Хотя хорошо, что офицальная и напрямую пользуется возможностями Far.

3. Реализация в виде, предложенном Maximus5 (в текущем варианте), тоже не очень хорошо. Эти Loader.dll для каждого плагина - это проще, но это неправильно и неудобно.

4. Если внутренняя реализация API Far позволит реализовать враппер в виде единого плагина (как The Underscore), да еще это и будет поддерживать официально (необязательно), то это будет самый козырный вариант.

P.S. И да, в виде The Underscore можно и сейчас, но это такие прыжки каждый раз, что проще согласиться с тем, что "они плагины перепишут".

2TS:

Схема Far1 > Far2 > Far3 > Far4 = "а ну его нах**". Я таким пользоваться не буду.
Никто не знал, а я...
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: Вопрос по багам версии v2.0 build 1807

Post by Maximus5 »

Схемы вида The Underscore или .Far Net - "Я таким пользоваться не буду".
При моей схеме любой пользователь (или даже любой плагин) может общаться с плагином, живущим под враппером, как с нативным Far3 плагином. В схеме "The Underscore" - юзеру остается только сосать лапу сможет работать с плагином только через интерфейс враппера. "а ну его нах**"
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Вопрос по багам версии v2.0 build 1807

Post by Max Rusov »

Может хотя бы loader интегрировать в ядро FAR'а, чтобы его копировать не надо было?
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: Вопрос по багам версии v2.0 build 1807

Post by Maximus5 »

В текущей реализации Loader понадобился потому, что во враппере нужно привязать определенный набор переменных к плагину, например гуиды.
И куча функций должна быть именно в Loader.dll, потому что я не вижу способа "оттранслировать" аргументы функций (например "void WINAPI GetGlobalInfoW(GlobalInfo *Info)") в что-либо, по чему можно будет получить хотя бы HMODULE (я уже не говорю, про какой-то "void* Param"), чтобы я мог сопоставить плагину - свой класс с переменными.

Я уже не говорю, что в Far2 API есть некоторые функции, например "InputBox(const wchar_t *Title, const wchar_t *SubTitle, const wchar_t *HistoryName, const wchar_t *SrcText, wchar_t *DestText, int DestLength, const wchar_t *HelpTopic, DWORD Flags)", в которых в принципе параметра, по которому я могу выполнить сопоставление. Правда сам фар (Ansi враппер) просто "-1" передает дальше...
Yegor
Posts: 1329
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 32 times
Been thanked: 61 times

Re: Вопрос по багам версии v2.0 build 1807

Post by Yegor »

Maximus5 wrote:Я уже не говорю, что в Far2 API есть некоторые функции, например "InputBox(const wchar_t *Title, const wchar_t *SubTitle, const wchar_t *HistoryName, const wchar_t *SrcText, wchar_t *DestText, int DestLength, const wchar_t *HelpTopic, DWORD Flags)", в которых в принципе параметра, по которому я могу выполнить сопоставление. Правда сам фар (Ansi враппер) просто "-1" передает дальше...
В стеке узнать адрес возврата, пройтись по всем HMODULE и вычислить откуда был вызван. Правда 100% гарантии все равно нет.
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
User avatar
WARP ItSelf
Самый умный
Posts: 1011
Joined: Tue 15 Mar, 2005 23:19
Contact:

Re: Вопрос по багам версии v2.0 build 1807

Post by WARP ItSelf »

2 Maximus5:

1. Насчет общения как с разными плагинами это, кстати, очень правильно. И сторонними прыжками, как The Underscore, действительно не делается. Хороший аргумент.

2. Привязку не смотря на отсутствие в InputBox параметра осуществить вполне можно.

Первый вопрос решается, если Far предоставит соотв. АПИ. Т.е. как и я говорил, мне видится решение, которое будет являться единым плагином-враппером и базироваться на возможностях Far. И без перекладывания DLL в папку каждого плагина.

P.S. И про "ну его нафиг" я писал строго в контексте вызова плагина от Far1 в Far4 через цепочку врапперов. На надо на весь текст проецировать.
Никто не знал, а я...
Post Reply

Return to “Обсуждение Far Manager”