В среде программирования Delphi предусмотрены встроенные средства для быстрого создания DLL-библиотек. Давайте для определенности создадим библиотеку, содержащую функцию GetArea(a, b, c: REAL):REAL. Данной функции на вход подаются длины сторон треугольника. Функция возвращает площадь заданного треугольника:
 
 FUNCTION GetArea(a, b, c:REAL):REAL;
 
 VAR p:REAL;
 
 BEGIN
 p:=(a+b+c)/2;
 Result:=SQRT(p*(p-a)*(p-b)*(p-c))
 END;
 
 Запускаем Delphi, а дальше действуем нетрадиционно. Выбираем пункты меню File à New à Other, в открывшемся окошке на закладке New щелкаем по пиктограмме DLL Wizard 
. При этом создается файл заготовки DLL-библиотеки. Он очень похож на обычный модуль (unit) Delphi, только начинается с оператора Library. Сохраните проект под именем, которое в будущем получит DLL-библиотека, скажем, GetA. Название GetArea использовать нельзя – оно уже занято именем функции.
 Теперь после оператора USES пишем текст нашей функции, но с некоторыми изменениями в заголовке:
 
 FUNCTION GetArea(a, b, c:REAL):REAL; export; stdcall;
 
 Ключевое слово EXPORT указывает на то, что данная функция является экспортируемой и будет видна из внешних программ. Слово STDCALL (standard call – стандартная модель вызова) указывает на применяемый протокол передачи параметров в функцию. Стандартная модель вызова совместима с программами, написанными на других языках, в частности, на С, поэтому нашу DLL смогут использовать и программисты, использующие С.
 После текста функции припишем
 
 EXPORTS
 GetArea;
 
 В операторе EXPORTS перечисляются все процедуры и функции, экспортируемые из библиотеки. Это своего рода каталог нашей библиотеки.
 Запустить на выполнение библиотеку невозможно, ее можно только откомпилировать. Для этого выполним пункт меню Project à Build. Если все было сделано правильно, на диске в текущей директории будет создан файл с именем geta.dll. Это и есть наша библиотека.
 
 Важное замечание: существует определенная тонкость при передаче процедурам и функциям, находящимся в библиотеке, параметров типа STRING. Для того, чтобы можно было передавать параметры типа STRING, придется в операторы USES и библиотеки, и вызывающей ее программы прописать подключение модуля ShareMem, да еще и обязательно так, чтобы этот модуль шел первым в списке. Мало того, вместе с библиотекой придется обязательно прилагать файл borlndmm.dll (он входит в поставку Delphi). Избежать таких хлопот очень просто: следует для параметров текстового типа использовать типы данных ShortString (фактически обычная строка, но длиной до 255 символов) и PChar (указатель на текстовую строку).