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

Разработка Far.
Dec
Posts: 66
Joined: Wed 14 Jul, 2010 08:59
Been thanked: 3 times

Использование исходников 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: 3520
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 3 times
Been thanked: 137 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: 66
Joined: Wed 14 Jul, 2010 08:59
Been thanked: 3 times

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

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

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

2useven10
Posts: 3520
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 3 times
Been thanked: 137 times

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

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

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

Dec
Posts: 66
Joined: Wed 14 Jul, 2010 08:59
Been thanked: 3 times

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

Post by Dec » Wed 22 Nov, 2017 22:47

Господа, скажите, а вообще существует ли какая либо сумма, которая способна заинтересовать вас решить мою проблему? 8000 руб, 16000 руб, 32000 руб, 64000 руб... Или есть какие то идеологические мотивы, типа "Нечего наше ФАРовское добро разбазаривать, уж тем более ради тех, кто пользуется Проводником, не к ночи будучи упомянутым".

Shmuel
Posts: 5451
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 19 times
Been thanked: 173 times

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

Post by Shmuel » Wed 22 Nov, 2017 23:00

- Нет никаких идеологических мотивов.
- У меня, например, на данном "этапе" тупо нет времени.
- Насчёт отсутствия реакции от других - не знаю.
- Нормальная сумма может заинтересовать любого.

Dec
Posts: 66
Joined: Wed 14 Jul, 2010 08:59
Been thanked: 3 times

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

Post by Dec » Wed 22 Nov, 2017 23:24

Shmuel, спасибо за ответ. Я с самого начала писал, что готов оплатить свои хотелки. Но тем не менее, к моему сожалению, желающих не возникло. Вот я и подумал, что существуют идеологические мотивы. Или те, кто могут реализовать задачу, думают, что я априори не соглашусь оплатить озвученную ими сумму, поэтому даже и не писали. Вот я и пытаюсь понять, что является "нормальной" суммой.
Last edited by Dec on Wed 22 Nov, 2017 23:25, edited 1 time in total.

Shmuel
Posts: 5451
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 19 times
Been thanked: 173 times

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

Post by Shmuel » Thu 23 Nov, 2017 00:01

Dec wrote:
Wed 22 Nov, 2017 23:24
Вот я и пытаюсь понять, что является "нормальной" суммой.
Если кто-то откликнется, он озвучит эту величину (не в форуме, разумеется) :)

2useven10
Posts: 3520
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 3 times
Been thanked: 137 times

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

Post by 2useven10 » Mon 27 Nov, 2017 14:27

Dec, Пробуйте...
Вырезано ножницами (#ifndef TC4FSF).
Тянет много лишнего, но фигурной кройкой заниматься времени нет.
Отрезано от b5101.
Проект и дополнительные файлы надо поместить в каталог far/
Last edited by 2useven10 on Mon 27 Nov, 2017 14:36, edited 2 times in total.

2useven10
Posts: 3520
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 3 times
Been thanked: 137 times

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

Post by 2useven10 » Mon 27 Nov, 2017 14:37

Была опечатка. Поправлю - перевыложу.

2useven10
Posts: 3520
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 3 times
Been thanked: 137 times

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

Post by 2useven10 » Mon 27 Nov, 2017 14:40

Опечатку убрал. Проверять надо всё, я не тестировал никак.
Attachments
TC4FSF.7z
(55.55 KiB) Downloaded 15 times
Last edited by 2useven10 on Sun 10 Dec, 2017 11:15, edited 2 times in total.

Dec
Posts: 66
Joined: Wed 14 Jul, 2010 08:59
Been thanked: 3 times

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

Post by Dec » Mon 27 Nov, 2017 21:07

Большое спасибо! Буду пробовать.

Dec
Posts: 66
Joined: Wed 14 Jul, 2010 08:59
Been thanked: 3 times

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

Post by Dec » Sat 09 Dec, 2017 02:11

2useven10, к сожалению, моих мозгов не хватит, что бы собрать.


2useven10
Posts: 3520
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 3 times
Been thanked: 137 times

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

Post by 2useven10 » Sun 10 Dec, 2017 00:38

Dec, Лучше бы 'по горячим следам' ...
В выложенном архиве вместо изменённого network.cpp нетронутый network.hpp, можно diff накатить на b5101.
чтобы получить все изменения. diff полный, остальные файлы вроде на месте.
Можно и руками перенести изменения - там всего 2 пары #ifndef TC4FSF / #endif.
Я у себя проект уже удалил, но если будут сложности - завтра восстановлю.

Dec
Posts: 66
Joined: Wed 14 Jul, 2010 08:59
Been thanked: 3 times

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

Post by Dec » Sun 10 Dec, 2017 00:49

2useven10, С ifdef собралось. Буду тестировать, спасибо.

2useven10
Posts: 3520
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 3 times
Been thanked: 137 times

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

Post by 2useven10 » Mon 11 Dec, 2017 10:54

Архив перезалит.
Кроме пропущенного файла - s[n]printf, sscanf A и W варианты.
PS: фидбек лучше сразу, пока не забыл, что там делалось.

Post Reply

Return to “Development”