Модуль расширения может быть выполнен в одном из следующих вариантов:
Динамическая библиотека (DLL), предоставляющая интерфейс через экспортируемые функции.
ActiveX DLL библиотека, предоставляющая COM-объект для связи с ZuluGIS;
ActiveX Control DLL библиотека, предоставляющая элемент ActiveX (ActiveX control), который внедряется в ZuluGIS и получает управление от приложения.
Примечание | |
---|---|
Настоящая спецификация не предусматривает подключение COM-объектов, реализованных в EXE-модулях (out-process servers). |
Загрузка модуля в память и подключение его к ZuluGIS происходит в момент, когда ресурсы и код, предоставляемые модулем требуются для дальнейшего выполнения программы, например, когда пользователь нажал кнопку или пункт меню, вызывающие выполнение операции, реализуемой в данном модуле. По окончании выполнения модуль отключается и выгружается из памяти.
По умолчанию, модуль загружается тогда, когда пользователь вызвал соответствующую команду и выгружается, когда исполнение этой команды закончилось. Однако, разработчик модуля может менять его поведение. Например, модуль может загружаться при запуске ZuluGIS и выгружаться при завершении работы с программой.
Исполнение того или иного кода, реализованного в модуле, происходит посредством вызова метода модуля, который в зависимости от того, представлен ли модуль COM-объектом или обычной динамической библиотекой, является методом dispatch-интерфейса этого объекта или экспортируемой функцией с таким именем.