Использование исходников FAR в стороннем продукте
Использование исходников FAR в стороннем продукте
Ищу помощи (оплачиваемой мной (в разумных пределах)).
Я являюсь разработчиком небольшой утилитки под названием 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. Как то так.
Я являюсь разработчиком небольшой утилитки под названием 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. Как то так.
Использование исходников FAR в стороннем продукте
В SetStartupInfoW фар передаёт плагину структуру с указателями на стандартные ф-и, которыми плагин может пользоваться.
Эти ф-и не надо реализовывать в плагине, их там можно использовать.
Не понял сразу для чего это нужно.
Эти ф-и не надо реализовывать в плагине, их там можно использовать.
Не понял сразу для чего это нужно.
Last edited by 2useven10 on Tue 10 Oct, 2017 04:01, edited 3 times in total.
Использование исходников FAR в стороннем продукте
Я не спорю с утверждением. Но я реализую не плагин, а хост для плагинов, т.е. ПО, которое использует плагины FAR и эмулирует FAR api.2useven10 wrote: ↑Tue 10 Oct, 2017 03:52В SetStartupInfoW фар передаёт плагину
Использование исходников FAR в стороннем продукте
Господа, скажите, а вообще существует ли какая либо сумма, которая способна заинтересовать вас решить мою проблему? 8000 руб, 16000 руб, 32000 руб, 64000 руб... Или есть какие то идеологические мотивы, типа "Нечего наше ФАРовское добро разбазаривать, уж тем более ради тех, кто пользуется Проводником, не к ночи будучи упомянутым".
-
- Posts: 6840
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Использование исходников FAR в стороннем продукте
- Нет никаких идеологических мотивов.
- У меня, например, на данном "этапе" тупо нет времени.
- Насчёт отсутствия реакции от других - не знаю.
- Нормальная сумма может заинтересовать любого.
- У меня, например, на данном "этапе" тупо нет времени.
- Насчёт отсутствия реакции от других - не знаю.
- Нормальная сумма может заинтересовать любого.
Использование исходников FAR в стороннем продукте
Shmuel, спасибо за ответ. Я с самого начала писал, что готов оплатить свои хотелки. Но тем не менее, к моему сожалению, желающих не возникло. Вот я и подумал, что существуют идеологические мотивы. Или те, кто могут реализовать задачу, думают, что я априори не соглашусь оплатить озвученную ими сумму, поэтому даже и не писали. Вот я и пытаюсь понять, что является "нормальной" суммой.
Last edited by Dec on Wed 22 Nov, 2017 23:25, edited 1 time in total.
-
- Posts: 6840
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Использование исходников FAR в стороннем продукте
Если кто-то откликнется, он озвучит эту величину (не в форуме, разумеется)
Использование исходников FAR в стороннем продукте
Dec, Пробуйте...
Вырезано ножницами (#ifndef TC4FSF).
Тянет много лишнего, но фигурной кройкой заниматься времени нет.
Отрезано от b5101.
Проект и дополнительные файлы надо поместить в каталог far/
Вырезано ножницами (#ifndef TC4FSF).
Тянет много лишнего, но фигурной кройкой заниматься времени нет.
Отрезано от b5101.
Проект и дополнительные файлы надо поместить в каталог far/
Last edited by 2useven10 on Mon 27 Nov, 2017 14:36, edited 2 times in total.
Использование исходников FAR в стороннем продукте
Опечатку убрал. Проверять надо всё, я не тестировал никак.
- Attachments
-
- TC4FSF.7z
- (55.55 KiB) Downloaded 184 times
Last edited by 2useven10 on Sun 10 Dec, 2017 11:15, edited 2 times in total.
Использование исходников FAR в стороннем продукте
2useven10, к сожалению, моих мозгов не хватит, что бы собрать.
Использование исходников FAR в стороннем продукте
Dec, Лучше бы 'по горячим следам' ...
В выложенном архиве вместо изменённого network.cpp нетронутый network.hpp, можно diff накатить на b5101.
чтобы получить все изменения. diff полный, остальные файлы вроде на месте.
Можно и руками перенести изменения - там всего 2 пары #ifndef TC4FSF / #endif.
Я у себя проект уже удалил, но если будут сложности - завтра восстановлю.
В выложенном архиве вместо изменённого network.cpp нетронутый network.hpp, можно diff накатить на b5101.
чтобы получить все изменения. diff полный, остальные файлы вроде на месте.
Можно и руками перенести изменения - там всего 2 пары #ifndef TC4FSF / #endif.
Я у себя проект уже удалил, но если будут сложности - завтра восстановлю.
Использование исходников FAR в стороннем продукте
2useven10, С ifdef собралось. Буду тестировать, спасибо.