32битные плагины в FAR х64?

Вам не хватает чего-то в Far? Вы считаете, что вашу идею стоит услышать? Пишите сюда.
User avatar
raven428
Posts: 51
Joined: Sat 28 Mar, 2009 11:17
Has thanked: 10 times
Been thanked: 1 time

32битные плагины в FAR х64?

Post by raven428 »

32х битные плагины в версии х64 вообще никак не запустить или есть какой-то костыль?
too much raVen over paradise...
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: плагин32 в фар3х64

Post by DrKnS »

raven428 wrote:32х битные плагины в версии х64 вообще никак не запустить или есть какой-то костыль?
Почему никак?

Пишешь 32-битный хост, который:
- загружает 32-битный плагин
- как-то через IPC узнаёт, какие функции из него нужно вызывать
- вызывает нужные функции и отдаёт результат обратно, опять же через IPC.
- предоставляет 32-битному плагину весь необходимый far api, реализуя его самостоятельно или транслируя вызовы через IPC при необходимости.

Пишешь 64-битный плагин или адаптер, который:
- запускает вышеописанный 32-битный хост.
- передаёт по IPC имёна нужных функций, параметры, получает результат
- реализует IPC-обёртку для far api.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: плагин32 в фар3х64

Post by Max Rusov »

DrKnS wrote:Почему никак? Пишешь...
И все равно, с 90% вероятностью работать не будет
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

Re: плагин32 в фар3х64

Post by Denis »

raven428 wrote:32х битные плагины в версии х64 вообще никак не запустить или есть какой-то костыль?
А что за плагин?
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Вопросы по переходу на Far 3.0 (перенос настроек и др.)

Post by HaRT »

DrKnS
Я на досуге размышлял, нельзя ли на заголовочники FAR API натравить MIDL.exe, чтобы он сгенерил proxy/stub, — тогда бы создание описываемой связки несколько упростилось.
А вообще если кто возьмётся, могу в частном порядке поделиться опытом успешной реализации подобного IPC.
Фар есть инструмент, а не нянька. © 2009 DrKnS
DiRTy_GaRRy
Posts: 705
Joined: Tue 05 Apr, 2005 09:26
Been thanked: 3 times
Contact:

Re: Вопросы по переходу на Far 3.0 (перенос настроек и др.)

Post by DiRTy_GaRRy »

Если в фаре будет com api для плагинов, то взаимодействие x86 <-> x64 (в любую сторону) можно будет сделать встроенными средствами винды, через com+.
Ы?
DiRTy_GaRRy
Posts: 705
Joined: Tue 05 Apr, 2005 09:26
Been thanked: 3 times
Contact:

Re: Вопросы по переходу на Far 3.0 (перенос настроек и др.)

Post by DiRTy_GaRRy »

Правда при большой частоте вызовов out-of-prococess com сервера — это не самый лучший вариант, но всё же…
Ы?
2useven10
Posts: 5210
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Re: Вопросы по переходу на Far 3.0 (перенос настроек и др.)

Post by 2useven10 »

32-64 оффтопик вполне заслуживает отдельной темы.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Вопросы по переходу на Far 3.0 (перенос настроек и др.)

Post by Max Rusov »

Да не выйдет ничего. Можно подумать, плагины только FAR API пользуются.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Вопросы по переходу на Far 3.0 (перенос настроек и др.)

Post by zg »

Max Rusov wrote:Да не выйдет ничего. Можно подумать, плагины только FAR API пользуются.
ну с файлами реестром можно тот же трюк применять, что в x86 фаре. а какие ещё проблемы есть?
ccaid
Posts: 908
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 24 times
Been thanked: 6 times

Re: Вопросы по переходу на Far 3.0 (перенос настроек и др.)

Post by ccaid »

изначально вопрос был поднят, потому что есть унаследованные x86 плагины, которые никак не подключить к x64 far. смысла в новодельных x86 плагинах, использующих новопридуманное АПИ для подключения к x64 Far — нет.
Фар делают добрые люди
User avatar
raven428
Posts: 51
Joined: Sat 28 Mar, 2009 11:17
Has thanked: 10 times
Been thanked: 1 time

Re: плагин32 в фар3х64

Post by raven428 »

Denis wrote:
raven428 wrote:32х битные плагины в версии х64 вообще никак не запустить или есть какой-то костыль?
А что за плагин?
да много их от того же фар 1.70, в том числе мои, например :)
too much raVen over paradise...
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Вопросы по переходу на Far 3.0 (перенос настроек и др.)

Post by Max Rusov »

zg wrote:
Max Rusov wrote:Да не выйдет ничего. Можно подумать, плагины только FAR API пользуются.
ну с файлами реестром можно тот же трюк применять, что в x86 фаре. а какие ещё проблемы есть?
Консольное API, например. GetStdHandle и иже с ним.
User avatar
WARP ItSelf
Самый умный
Posts: 1011
Joined: Tue 15 Mar, 2005 23:19
Contact:

Re: 32битные плагины в FAR х64?

Post by WARP ItSelf »

Да не, тут все нормально.

1. Скажем, Far у нас х64.
2. Пишем к нему х64-плагин заглушку.
3. Пишем программу-арбитр х86.
4. Имеем плагин х86.

И понеслась:

1. Far x64 загружает плагин-заглушку.
2. Плагин маршалит данные в программу-арбитр (при вызове GetPluginInfo, например).
3. Программа-арбитр загружает плагин х86 и вызывает что нужно.
4. Программа-арбитр собирает результаты вызова и маршалит их в плагин-заглушку.

Все просто замечательно кроме того, что написать для plugin.hpp это самый маршалинг/демаршалинг это ААА!!!! А plugin.hpp еще и меняется постоянно. Там этот арбитр с заглушкой на полноценный менеджер плагинов потянут.
Никто не знал, а я...
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: 32битные плагины в FAR х64?

Post by Max Rusov »

WARP ItSelf wrote:...написать для plugin.hpp это самый маршалинг/демаршалинг это ААА!!!!
Это, конечно, не просто, но не сильно сложнее чем Far2->Far3 wrapper, только IPC добавить. Но что делать с непредсказуемым множеством функций Win API - мне лично непонятно.
Post Reply

Return to “Предложения и идеи”