Створення DLL починається з виконання команди File - New - Other і вибору у вікні New Items на сторінці New піктограми DLL Wisard.

У результаті у вікні Редактора Коду ви побачите текст:
library Projectl;
{текст
коментаря}
uses
список модулів;
{SR *.res}
реалізація підпрограм
exports
підпрограма1, підпрограма2, . . ., підпрограмаn;
end.
Ця заготовка DLL дуже схожа на заготовку модуля. Основна відмінність - ключове слово library замість unit у першому рядку. Збережіть ваш проект у якусь відведену вами для цього теку, назвавши файл, що зберігається, тим же ім'ям, яке зазначено після ключового слова library. При комяіляції проекту із ключовим словом library створюється файл бібліотеки з розширенням.dll
Кожна підпрограма оформляється звичайним способом, але в заголовку вказується додатковий параметр:
function ім'я_функції (параметри):тип; stdcall;
procedure ім'я_процедури (параметри); stdcall;
У розділі exports через кому вказують список імен підпрограм, які можна викликати зі створеної DLL бібліотеки. Крім експортованих функцій в DLL можуть бути описані якісь допоміжні підпрограми, призначені тільки для внутрішнього використання усередині DLL. Такі утиліти в розділ exports не включаються.
Розглянемо приклад створення демонстраційної DLL.
У бібліотеці створимо дві функції. Одна буде викликати діалог виходу із програми, а друга буде підсумовувати два довільні числа.
library primer;
uses
Windows, Messages, Sysutils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Stdctrls;
{$R *.res}
//функція видачі діалогу на вихід із програми
function exit:boolean; stdcall;
begin
if application.Messagebox('Вийти із програми?', 'Підтвердьте', mb_yesno+mb_iconquestion)=idyes then
exit:=true
else
exit:=false;
end;
//функція підсумовування двох чисел
function sum(a,b:real):real; stdcall;
begin
sum:=a+b;
end;
exports
exit, sum;
end.
Після створення бібліотеки її компілюють за допомогою команди Project - Build.... Якщо помилок немає, те в теці із проектом буде створений файл .DLL