Dll-библиотека (Dynamic Link Library) - программный модуль, который может быть динамически подключен к выполняющемуся процессу.
Данная статья посвящена именно этому вопросу, а именно - программирование DLL в Borland.
Ну а теперь разберем непосредственно саму библиотеку DLL: Пример 3.
Имена параметров функции или процедуры; Par1Type, Par2Type.
Т.е., например, чтобы создать плагин к графическому редактору, который бы выполнял преобразование изображений, Вам нужно предусмотреть как минимум две функции в плагине (и, соответственно, вызвать эти функции в программе) - функция, которая бы возвращала имя плагина (и/или его тип чтобы добавить этот плагин в меню (или в тулбар плюс главная функция - передачи и приема.
При этом сама программа обязательно должна предусматривать наличие таких дополнений и позволять им выполнять свое предназначение.
В качестве типа проекта выберите Win32 Dynamic-Link Library.
DLL name FunctionName ProcedureName - директива, указывающая точное имя функции в самой DLL.
Функция будет определять, присутствует ли в системе необходимый драйвер и попытаться подключиться к нему.
Гораздо лучше - предоставить для него понятный интерфейс API-функций для работы с устройством.
DLL name ProcedureName index ProcIndex; Здесь: FunctionName (либо ProcedureName) - имя функции (или процедуры которое будет использоваться в Вашей программе; Par1, Par2.
Плагины - дополнения к программе, расширяющие ее возможности.
В данном случае за счет большего числа вызовов, через которые проходит запрос на ввод-вывод, снижается быстродействие работы системы.
Dll - библиотека может содержать функции и данные.
Функция будет определять, присутствует ли в системе необходимый драйвер и попытаться подключиться к нему.
Это гораздо более сложный, но и более элегантный метод.
DLL procedure Button1Click(Sender: TObject begin И используем ее ShowMessage(StrPas(GetSimpleText(True ShowMessage(StrPas(GetSimpleText(False ShowMessage - показывает диалоговое окно с указанной надписью; StrPas - преобразует строку PChar в string end; Теперь то же самое, но вторым способом - с динамической загрузкой: Пример 2.
Итак, для начала - общая форма этого приема: implementation.
В качестве примера можно привести библиотеки таких известных пакетов, как: DirectX, icqapi (API для ICQ OpenGL и т.д.
Как было упомянуть выше, в настоящее время для связи с драйвером используется схема Приложение - Библиотека dll - Драйвер.
Замечу лишь, что для загрузки ресурса нужно загрузить DLL, а затем, получив ее дескриптор, - загружать сам ресурс соотвествующей функцией (LoadIcon, LoadCursor, и т.д.).
Гораздо лучше - предоставить для него понятный интерфейс API-функций для работы с устройством.
При его использовании существуют проблемы с разделением памяти.
GetProcAddress (Module: THandle; ProcName: PChar) - считывает адpес экспоpтиpованной библиотечной функции.
DLL - директива, указывающая имя внешней DLL, из которой будет импортирована данная функция или процедура (в данном случае - dllname.
Уже приведенные выше примеры помогут Вам легко разобраться в львиной части программирования DLL.
имена параметров функции или процедуры; Par1Type, Par2Type.
Если это удастся - функция вернет true, в противном случае - false.
Dll-библиотека (Dynamic Link Library) - программный модуль, который может быть динамически подключен к выполняющемуся процессу.
Комментариев нет:
Отправить комментарий