Доброго всем!
Появилась необходимость создать плагин для AkelPad (не компилируемый код работает слишком долго). скомпилировал тестовый AkelDLL всё ок, dll есть и в списке плагинов отображается.
Изменил расширение на cpp, добавил некоторый код- скомпилировал, dll слинковалась, но AkelPad ее уже не признаёт. Писать на чистом c несомненно круто, но хотелось бы на C++ а еще лучше на C#.
Какими свойствами должна обладать Dll, чтобы AkelPad ее признавал, кроме наличия DllAkelPadID?
Возможно, что-то не так с "размером" структуры PLUGINVERSION? Компилятор из Microsoft Visual Studio 10
Создание собственных плагинов
- Author
- Message
-
Offline
- Posts: 5
- Joined: Tue Apr 26, 2016 6:15 pm
- Location: Moscow
-
Offline
- Posts: 2248
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
shilovsn
1. Экспорты (помоему stdcall, но я ниразу не указывал что странно что оно вообще работает) должны получать PLUGINDATA* и возвращать DWORD.
2. Каждый метод вроде опрашивается на некие атрибуты при запуске АР((PDS_GETSUPPORT)), тоже нужно отвечать правильно, но по моему оно не влияет на видимость функции.
С# - забудьте.
C++ - запросто.
В это spellcheck на плюсах(хотя по сути плюсы там не надо), и последний релиз строился MSVS 2013 экспресс. Исходники доступны, можете "списать"
Правда собственно и списывать нечего
1. Экспорты (помоему stdcall, но я ниразу не указывал что странно что оно вообще работает) должны получать PLUGINDATA* и возвращать DWORD.
2. Каждый метод вроде опрашивается на некие атрибуты при запуске АР((PDS_GETSUPPORT)), тоже нужно отвечать правильно, но по моему оно не влияет на видимость функции.
С# - забудьте.
C++ - запросто.
В это spellcheck на плюсах(хотя по сути плюсы там не надо), и последний релиз строился MSVS 2013 экспресс. Исходники доступны, можете "списать"

-
Offline
- Posts: 5
- Joined: Tue Apr 26, 2016 6:15 pm
- Location: Moscow
Спасибо, всё получилось:) Волшебным заклинанием оказалось: extern "C". Отдельное спасибо за наводку на SpellCheck, подсмотрел много полезного.. с C# жалко, но будем посмотреть, может чего получится через подгрузку dll или com интерфейсы. Очень уж хочется с вордом работать альтернативными JS методами.