ExaOffice

Программное обеспечение для вашего бизнеса.

+7 925 702-80-13 Telegram, WhatsApp
9:00 – 18:00 мск
info@exaoffice.ru

ExaHostel




Разработка плагина для ExaHostel

Разработать плагин для ExaHostel можно, используя один из многих языков программирования. В конечном итоге нужно создать 32-разрядную библиотеку DLL для Windows.

Внимание! Перед началом разработки убедитесь, что все требуемые для плагина возможности доступны. Список возможностей приведен в статье Плагины.

Основное требование к плагину следующее. В библиотеке DLL должна быть реализована функция Init, возвращающая интерфейс IExaDataBaseCommandsPlugin. ExaHostel автоматически вызывает эту функцию, когда обнаруживает плагин в папке плагинов. В интерфейсе IExaDataBaseCommandsPlugin реализуется функция, возвращающая наименование плагина (для отображения команды в меню), а также функция запуска плагина (когда пользователь вызвал эту команду). В последнюю параметром передается интерфейс IExaApp, который предоставляет плагину доступ к приложению и базе данных. Здесь нужно написать основную работу плагина.

Дополнительно в плагине может быть реализована функция Done - ее ExaHostel вызывает при выходе из программы. В ее реализации плагин может, например, удалить свои временные файлы или сохранить настройки.

typedef HRESULT __stdcall (*TInit)(IUnknown **Result);
typedef HRESULT __stdcall (*TDone)(void);
type
  TInit = function: IInterface; safecall;
  TDone = procedure; safecall;

Как работать с интерфейсами, смотрите здесь: Обзор интерфейсов в плагинах.

Сами интерфейсы находятся в заголовочных файлах. Скачать заголовочные файлы можно здесь: https://exaoffice.ru/downloads/plugins/ExaPluginHeaders.zip.

Хотя заголовочные файлы содержат TLB (библиотеку типов), следует учесть, что плагины работают не через COM, а через указанные выше функции и интерфейсы. TLB используется лишь для удобного импорта описаний интерфейсов в другие языки программирования.

В качестве примеров можно использовать имеющиеся плагины: Плагины.

 


Мы стараемся как можно оперативнее обеспечивать вас актуальной справочной информацией. Ввиду частых обновлений приложения информация в этом материале может не совсем соответствовать или быть неполной. Благодарим за понимание.
Не нашли ответа на ваш вопрос? Напишите по электронному адресу info@exaoffice.ru — мы ответим максимально быстро.

Сохранить этот документ как PDF

Контакты

+7 925 702-80-13 Telegram, WhatsApp

info@exaoffice.ru

 

Техническая поддержка

+7 925 702-80-13 Telegram, WhatsApp

support@exaoffice.ru

 

Мы используем только лицензионное ПО

Win10 Win12 server Delphi Delphi TM

© 2024 ExaOffice