Page 1 of 5

DLL для LUA плагина

Posted: Wed 10 Sep, 2014 17:32
by ladserg
Скажите, а DLL для LUA плагина всегда можно брать (1, 2, 3) из плагина LuaMacro, или есть где то более полная версия?

Re: DLL для LUA плагина

Posted: Wed 10 Sep, 2014 17:48
by Shmuel
Эти DLL отличаются набором экспортируемых функций. luamacro.dll имеет свой набор, helloworld.dll - свой, и т.д.
Этот набор определяется в мейк-файле, а при сборке с VC2010 также и в .def-файле. Подробнее - в мануале LuaFAR.

Если вы не хотите сами собирать, сообщите ваш набор экспортируемых ф-ций, и я для вас соберу.

Re: DLL для LUA плагина

Posted: Wed 10 Sep, 2014 18:01
by ladserg
Shmuel wrote:Эти DLL отличаются набором экспортируемых функций. luamacro.dll имеет свой набор, helloworld.dll - свой, и т.д.
Этот набор определяется в мейк-файле, а при сборке с VC2010 также и в .def-файле. Подробнее - в мануале LuaFAR.

Если вы не хотите сами собирать, сообщите ваш набор экспортируемых ф-ций, и я для вас соберу.
Понял, сам собирать возможности не имею. Но мне пока хватает luamacro.dll. Пришлось взять её вместо helloworld.dll, т.к. в оной не оказалось экспорта функции Configure.

А если собрать и использовать DLL с полным набором экспортируемых функций, это чему то навредит?

Re: DLL для LUA плагина

Posted: Wed 10 Sep, 2014 18:13
by Shmuel
Теоретически навредить не должно, практически - может. Фар будет дёргать эти функции. Если нет соответствующих ф-ций на Lua, то эти ф-ции должны просто возвращать Фару "холостые" значения.

Re: DLL для LUA плагина

Posted: Wed 10 Sep, 2014 18:21
by ladserg
Shmuel wrote:Теоретически навредить не должно, практически - может. Фар будет дёргать эти функции. Если нет соответствующих ф-ций на Lua, то эти ф-ции должны просто возвращать Фару "холостые" значения.
Хм, а то удобно было бы иметь минимальный набор LUA-плагинописателя, что бы файлы в папку кинул и начал писать :-/

Re: DLL для LUA плагина

Posted: Wed 10 Sep, 2014 18:25
by Shmuel
А что, собирать DLL, при наличии готовых мейк-файлов и всего остального, это высшая математика?

Re: DLL для LUA плагина

Posted: Wed 10 Sep, 2014 18:31
by ladserg
Shmuel wrote:А что, собирать DLL, при наличии готовых мейк-файлов и всего остального, это высшая математика?
Visual Studio не имею, да и речь не только обо мне, я не единственный, другие тоже могут пожелать написать свой плагин на LUA, но в сях не разбирающиеся.

Отчего такое убеждение, что раз человек способен писать на Бейсике, то и свою DLL он обязан уметь собирать?

Re: DLL для LUA плагина

Posted: Wed 10 Sep, 2014 18:33
by Shmuel
Так не нужны Си, и не нужно в них разбираться. Нужно только в мейк-файле указать свои экспорты, в соответствии с потребностями и с мануалом LuaFAR.

Re: DLL для LUA плагина

Posted: Wed 10 Sep, 2014 18:42
by ladserg
Shmuel wrote:Так не нужны Си, и не нужно в них разбираться. Нужно только в мейк-файле указать свои экспорты, в соответствии с потребностями и с мануалом LuaFAR.
Да мне то нет проблем, правда мне пока пока хватает LuaMacro.dll, да и предложение свыше, если что обратиться, я как понял пока не отменено.

Просто поставить Visual Studio может быть проблемой, кста, а бесплатной версии MS Visual Studio Express будет достаточно для компиляции?

А поработать с мейк-файлом может кому то стать и проблемой, равно как и make запустить. Не все, умеющие писать на скриптовых языках, имеют представление о том как собираются бинарные файлы.

Re: DLL для LUA плагина

Posted: Wed 10 Sep, 2014 18:45
by Shmuel
VS Express - достаточно.
GCC (MinGW) - ещё проще.
Предложение не отменено, если будет время.

Re: DLL для LUA плагина

Posted: Wed 10 Sep, 2014 18:54
by ladserg
Shmuel wrote: GCC (MinGW) - ещё проще.
Предложение не отменено, если будет время.
О! С MinGW и мне проще, не ткнёте меня носом из какой папки что собирать и какой makefile править под себя? Попробую.

Эта папка, как я понял, не оно?

Re: DLL для LUA плагина

Posted: Wed 10 Sep, 2014 19:04
by Shmuel
MinGW
Могу сказать только как это у меня.
1. Есть рабочая директория сорцов Фара, которая регулярно update-ится по SVN.
2. Есть директория плагина, например HELLOWORLD - в любом месте на любом диске.
3. Есть мейкфайл
Редактируете мейк-файл, сохраняете, вызываете make. ВСЁ.

Re: DLL для LUA плагина

Posted: Wed 10 Sep, 2014 19:12
by ladserg
Shmuel: понял, спасибо, попробую. А где и как описать, что экспортировать, а что нет и где можно глянуть полный перечень экспортируемого?

Re: DLL для LUA плагина

Posted: Wed 10 Sep, 2014 19:17
by Shmuel
FAR_EXPORTS в мейк-файле.
Глава "Generic LuaFAR plugin" в мануале.
FarEncyclopedia.ru.chm.

Re: DLL для LUA плагина

Posted: Wed 10 Sep, 2014 19:26
by ladserg
Хм, мануал оказался не многословен, понял спс. Правда главу я нашел только в luafar_manual.chm.