Подскажите tutorial по написанию плагинов

Только для тех, кто пишет плагины под Total Commander. Обмен опытом, решение проблем.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

mitiya
Сообщения: 16
Зарегистрирован: Ср июл 12, 2006 16:00

Подскажите tutorial по написанию плагинов

Сообщение mitiya »

Хочу написать плагин. Без понятия с чего вообще начать.
Хотелось бы какой-то урок найти.
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

mitiya
Сообщения: 16
Зарегистрирован: Ср июл 12, 2006 16:00

Сообщение mitiya »

это я видел. но это не урок, это справочник.
Аватара пользователя
Maximus
Сообщения: 927
Зарегистрирован: Чт апр 07, 2005 10:51
Откуда: Украина, Кировоградская обл., г. Знаменка
Контактная информация:

Сообщение Maximus »

mitiya
В некотором смысле урок:
http://maximus.in.ua/tcplugins/vfs.php?lang=1
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

mitiya,
Начни с документаций, смотри, как работают примеры, задавай вопросы - это гораздо лучший способ написать плагин, чем искать то, чего, возможно, не существует.
mitiya
Сообщения: 16
Зарегистрирован: Ср июл 12, 2006 16:00

Сообщение mitiya »

Ок. Для начала на чём писать ?
Я так понимаю сам тотал на делфи написан ?
Что мне нужно сделать что-бы скомпилировать хотя бы имеющийся пример ?
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

mitiya
Плагин — это DLL-библиотека, от которой требуется только одно: предоставлять конкретный набор функций, описанный в документации, а писать и компилировать можно чем угодно. Лишь бы результат соответствовал требованиям по именам функций и calling conventions. Большинство плагинов написаны на Delphi и C/C++.

К слову, к плагиновым API прилагаются примеры плагинов, выложенные Гислером (например, для FS-плагинов). Насколько помню, они все компилируются в Visual C++, но технически ничто не мешает собирать их в другой среде C++, только файл проекта придётся самому делать, да, возможно, поправить какие-то компиляторно-специфичные моменты.

Для более конкретной помощи лучше сначала определиться с типом плагина, скачать подходящий пример и уже по нему задавать вопросы.
Почему же, ё-моё, ты нигде не пишешь "ё"?
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Добавлю, что найти исходники плагинов можно как на C/C++, так и на Delphi. Главное - знать, что хочешь получить в результате.
mitiya
Сообщения: 16
Зарегистрирован: Ср июл 12, 2006 16:00

Сообщение mitiya »

На самом деле хочу сделать плагин для bittorrent sync.
Что бы можно было получить список файлов не качая их, выбрать и скопировать. Это удобно, когда total на флэшке носится и тебе на другом компе понадобился какой-то файл который сохранен с bittorrent sync.
Так что я думаю это должен быть FS-плагин.

Хотелось бы знать какую среду разработки лучше взять.
Сейчас я поставил Microsoft Visual C++ 2010 express, но у меня никак не получается загрузить туда пример fs-плагина. Был бы признателен, если бы кто-то объяснил как это сделать.
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

2010 Express вполне подойдёт.
mitiya писал(а):но у меня никак не получается загрузить туда пример fs-плагина
File -> Open -> Project/Solution, выбрать файл проекта fsplugin.dsw, согласиться на конвертацию в формат 2010-й Студии.

Кстати, Express-версия по умолчанию не поддерживает сборку 64-битных приложений, для этого необходимо установить Windows SDK 7.1 и в настройках проекта на странице General выбрать Platform Toolset "Windows7.1SDK".
Почему же, ё-моё, ты нигде не пишешь "ё"?
mitiya
Сообщения: 16
Зарегистрирован: Ср июл 12, 2006 16:00

Сообщение mitiya »

пишет "не удалось загрузить файл проекта D:\temp\fsplugin.dsp. Удалить незагружающийся проект из решения?" Да\Нет

не зависимо от того что я выбираю, ничего не открывается.




Пока я думаю я обойдусь без 64-битных приложений.
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

mitiya
М-да, почему-то Express-версия 2010 больше не хочет конвертить DSP/DSW. Значит, надо через промежуточный 2008 Express.

В общем, вот адаптированный проект:
http://flint.wincmd.ru/files/sampleplugin_wfx_2010.rar
Открывать файл SLN.
Почему же, ё-моё, ты нигде не пишешь "ё"?
mitiya
Сообщения: 16
Зарегистрирован: Ср июл 12, 2006 16:00

Сообщение mitiya »

Открылся, вроде.

А как его собственно компилировать в сам плагин ?
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

mitiya
Вообще-то, предполагается, что разработчик плагина знаком со средой разработки. Если VC++ настолько чуждая среда, что даже вызов команды сборки проекта вызывает затруднения, то не лучше ли было сразу сказать об этом и подобрать что-то более привычное? (Я надеюсь, опыт программирования хоть в чём-нибудь имеется?)

В любом случае, данный форум не предназначен для обучения элементарным базовым возможностям какой бы то ни было среды программирования.
Почему же, ё-моё, ты нигде не пишешь "ё"?
mitiya
Сообщения: 16
Зарегистрирован: Ср июл 12, 2006 16:00

Сообщение mitiya »

Честно говоря последний раз я ковырял язык в котором надо что-то компилировать лет 5 назад. А сейчас все тольно php, js, bash.
Но тогда это был как раз C++ и VS express.
Это было какое-то консольное приложение, там было достаточно нажать F5 и он компилировал в exe. А тут при F5 выдает "Не удается запустить программу .\Debug\fsplugin.dll Не удается найти указанный файл"
Ответить