Отправной точкой технологии плагинов является главным образом предоставление программному обеспечению гибкого расширения функций без необходимости перекомпиляции и публикации основной программы (программы-фреймворка). Его принцип довольно прост. Функциональность ПО определяется фреймворками и плагинами. Между программой-фреймворком и плагином существует определенный интерфейс, через который они должны передавать данные или управляющую информацию для реализации функций программного обеспечения. Следовательно, пока программа (или другой функциональный объект) соответствует этому интерфейсу, она называется подключаемым модулем программы-фреймворка.
Подключаемые объекты обычно делятся на два типа: один — это программа, содержащая логику, например динамическая библиотека, программа Exe и т. д., другой — набор информации о конфигурации. Первый метод в основном используется в программном обеспечении для рисования и воспроизведении мультимедиа и подходит для реализации сложных функций, второй метод в основном используется для реализации функции скина программного обеспечения и других функциональных модулей, которые не требуют сложных вычислений (есть много игр); ). Уровни программного обеспечения также реализуются таким же образом, например, Lianliankan от Ada Software).
В этой статье приведены фреймворк программы и примеры использования для управления Dll в процессе реализации фреймворковой программы подключаемого модуля Dll в качестве основы для читателей при разработке подключаемых программ. В частности, инфраструктурная программа должна выполнить три функции: загрузку плагина, вызов функции и удаление.
По сути, каждая программа панели управления представляет собой плагин к операционной системе. Потому что каждый файл .cpl представляет собой Dll, реализующую определенный интерфейс. То же самое относится и к служебной программе Windows, которая обрабатывает только определенные сообщения Windows на основе исходной программы.
Фактически, вообще говоря, каждая программа, работающая в операционной системе, представляет собой «плагин» программного обеспечения операционной системы.
На самом деле в Delphi уже есть фреймворк для управления плагинами — bpl. Плагин расширения функций также может быть легко достигнут с помощью пакета компонентов bpl. Однако у этого метода есть недостаток: он не поддерживает разработку плагинов с помощью других инструментов разработки (таких как vb, vc++).
)
В модуле untDllManager определены два основных класса:
TDll: родительский класс всех классов Dll, обеспечивающий операции, связанные с загрузкой и выгрузкой;
TDllManager: класс-контейнер класса Dll. Поддерживает удаление объектов Dll путем удаления элементов.
Ниже представлена диаграмма классов: