Delphi.Dll – Dynamic link library

Dll – Dynamic link library – библиотека для основной программы. Помогает разгрузить код основной программы и дать возможность другим программистам пользоваться её методами. Различают статическую и динамическую DLL.

Статическая DLL – загружается в память вместе с программой. Динамическая – загружается только тогда, когда нужен тот или иной метод.

Для небольших приложений, на мой взгляд, уместно использовать статические DLL, а для приложений, сильно расходующих память – динамические.

Как создать DLL?

File | New | Other и выбираем Dynamic-link Library

1

 

Далее… в созданном проекте пишем…

Большую часть этого модуля напишет система. Наше дело – добавить функции, которые нам необходимы.

Внимание!!! Build, а не Complile

При создании DLL из проекта нажимать не на Compile, а на Build (Project | Build)

Как можно улучшить статическую загрузку?

Можно использовать директиву Delayed и тогда библиотека загрузится не сразу, а только при использовании одной из функций библиотеки в первый раз.


Как вызвать DLL статически?

Cоздаем обычное приложение VCL. Привожу полный текст модуля

Что нужно, чтобы все заработало?

-При создании DLL из проекта нажимать не на Compile, а на Build (Project | Build)

-Название функции в главной программе должно в точности до регистра совпадать с названием функции в DLL. То есть если в нашем примере написать

вместо

то работать не будет

Как вызвать метод из DLL динамически?

Привожу полный код. Сначала описываем функцию…

Где размещать DLL?

-В принципе хоть где) Но если Вы хотите, чтобы Windows нашла DLL автоматически, то вот возможные варианты

-В каталоге из которого запускается программа

-В каталоге Windows

-В системном каталоге Windows

-В каталогах, включенных в переменную окружения PATH

by Stanislav_Panteleev