Использование исходников FAR в стороннем продукте

Разработка Far.
Post Reply
Dec
Posts: 29
Joined: Wed 14 Jul, 2010 08:59
Been thanked: 1 time

Использование исходников FAR в стороннем продукте

Post by Dec » Mon 09 Oct, 2017 22:11

Ищу помощи (оплачиваемой мной (в разумных пределах)).

Я являюсь разработчиком небольшой утилитки под названием TC4Shell. Ее суть в том, что она позволяет пользователю открывать прямо в обычном виндовом Проводнике различные архивы, такие как 7z или rar, аналогично встроенной по умолчанию в Проводник поддержке формата zip. TC4Shell поддерживает работу с WCX-плагинами Total Commander, и еще я решил добавить в TC4Shell поддержку FAR-овских панельных плагинов. В принципе, TC4Shell уже поддерживает плагины FAR, но с некоторыми ограничениями. Как это выглядит можно посмотреть на анимированной гифке (4 MB).

Сам я пишу на Delphi, с C++ знаком не очень (точнее очень не знаком), поэтому исходные коды фара могу только читать, и то с большими ограничениями. В данное время в SetStartupInfoW для некоторых функция я передаю просто заглушки, поскольку некоторые функций я не могу реализовать в силу ограничений языка (например, sprintf или snprintf) или в силу того, что просто не знаю, как их реализовывать (например, RegExpControl).

Собственно, суть моего поста. Ищу человека, который согласится сделать для меня dll на основе исходников FAR, которая бы экспортировала бы следующие функции:

RegExpControl
sprintf (A и W варианты)
sscanf (A и W варианты)
snprintf (A и W варианты)
GetPathRoot
FarInputRecordToName
FarNameToInputRecord
ConvertPath

Эти функции, кроме ConvertPath, будут передаваться в SetStartupInfoW. Отдельное замечание о ConvertPath. Я бы хотел, что бы она имела прототип вида

size_t WINAPI ConvertPath(
enum CONVERTPATHMODES Mode,
const wchar_t *Src,
const wchar_t *CurrentDirectory,
wchar_t *Dest,
size_t DestSize
);

CurrentDirectory - это дополнительный параметр, который бы использовался в этой функции вместо вызова os::GetCurrentDirectory.

В идеале хотелось бы иметь проект, например, для VS 2015, который бы я смог сам скомпилировать. Возможно, в будущем будут найдены какие либо неточности или ошибки в коде FAR этих функций, что бы я мог самостоятельно подправить и скомпилировать новую версию.

Повторюсь, я готов оплатить создание такой dll. Как то так.

2useven10
Posts: 3045
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 2 times
Been thanked: 83 times

Использование исходников FAR в стороннем продукте

Post by 2useven10 » Tue 10 Oct, 2017 03:52

В SetStartupInfoW фар передаёт плагину структуру с указателями на стандартные ф-и, которыми плагин может пользоваться.
Эти ф-и не надо реализовывать в плагине, их там можно использовать.

Не понял сразу для чего это нужно.
Last edited by 2useven10 on Tue 10 Oct, 2017 04:01, edited 3 times in total.

Dec
Posts: 29
Joined: Wed 14 Jul, 2010 08:59
Been thanked: 1 time

Использование исходников FAR в стороннем продукте

Post by Dec » Tue 10 Oct, 2017 04:00

2useven10 wrote:
Tue 10 Oct, 2017 03:52
В SetStartupInfoW фар передаёт плагину
Я не спорю с утверждением. Но я реализую не плагин, а хост для плагинов, т.е. ПО, которое использует плагины FAR и эмулирует FAR api.

2useven10
Posts: 3045
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 2 times
Been thanked: 83 times

Использование исходников FAR в стороннем продукте

Post by 2useven10 » Tue 10 Oct, 2017 04:02

Уже понял, не успел удалить :)

Post Reply

Return to “Development”