Работа с DLL
Создайте и откомпилируйте пустой проект DLL, который содержит ссылку на файл ресурсов .res, который содержит Ваши ресурсы.
- Подробности
- Родительская категория: Windows
- Категория: Работа с DLL
Пример использования:
Code: |
// Закодированные MakeVersion версии можно просто сравнивать if GetDLLVersion('SHELL32.DLL') > MakeVersion(5, 0) then ... // Вот так можно вывести версию DLL var V: Integer; begin V := GetDLLVersion('SHLDOC32.DLL'); ShowMessage(IntToStr(HIWORD(V)) + '.' + IntToStr(LOWORD(V))); end; |
- Подробности
- Родительская категория: Windows
- Категория: Работа с DLL
Код, представленный ниже демонстрирует простейшую DLL с всего одной функцией "TestDLL". Результат этой процедуры - диалоговое окошко с текстом.
- Подробности
- Родительская категория: Windows
- Категория: Работа с DLL
Следующий пример демонстрирует функцию, которая позволяет определить полный путь откуда была загружена dll:
Code: |
uses Windows;
procedure ShowDllPath stdcall; var TheFileName : array[0..MAX_PATH] of char; begin FillChar(TheFileName, sizeof(TheFileName), #0); GetModuleFileName(hInstance, TheFileName, sizeof(TheFileName)); MessageBox(0, TheFileName, 'The DLL file name is:', mb_ok); end; |
- Подробности
- Родительская категория: Windows
- Категория: Работа с DLL
Если ваш компьютер работает под управлением операционной системы Windows, то вы не можете не знать о существовании динамических подсоединяемых библиотек (dynamic link libraries - DLL). Достаточно взглянуть на список файлов, расположенных в системном каталоге Windows - порой количество используемых операционной системой динамических библиотек достигает нескольких сотен. DLL являются неотъемлемой частью функционирования операционных систем семейства Microsoft Windows. Однако для вас может быть неочевидна необходимость использования динамических библиотек при разработке приложений. В рамках данной статьи мы поговорим о принципах функционирования DLL и их использования в процессе создания ваших собственных программ.
- Подробности
- Родительская категория: Windows
- Категория: Работа с DLL
Данная функция определяет присутствие нужной функции в библиотеке (dll) и, в случае нахождения искомой функции возвращает True, иначе False.
- Подробности
- Родительская категория: Windows
- Категория: Работа с DLL
При объявлении процедур и функций в динамических библиотеках используются различные соглашения о вызовах. Дело в том, что различные языки программирования по-разному реализуют передачу параметров в процедуру (через стек или регистры). Порядок следования параметров в стеке как раз определяется соглашением о вызовах.
Стандартный вызов в языках C++ и Object Pascal различается, но набор директив смены типа вызова позволяет обеспечить любую реализацию.
Во всех соглашениях о вызовах вызывающая процедура помещает параметры в стек. В зависимости от типа соглашения, очистка стека осуществляется вызывающей или вызываемой процедурой.
- Подробности
- Родительская категория: Windows
- Категория: Работа с DLL
Иногда бывает полезно знать какими DLL-ками пользуется Ваше приложение. Давайте посмотрим как это можно сделать:
Автор: Simon Carter
Пример функции
- Подробности
- Родительская категория: Windows
- Категория: Работа с DLL
DLL возможно загружать двумя способами:
- статически
- динамически
Давайте создадим простую библиотеку DLL:
Project file name: c:\example\exdouble\exdouble.dpr
- Подробности
- Родительская категория: Windows
- Категория: Работа с DLL
Страница 2 из 2