با استفاده از منو فایل گزینه New Items را انتخاب کنید و آیتم DLL Wizard را انتخاب نمایید. حال به فایل ایجاد شده، یک فرم با استفاده از روش بالا اضافه نمایید. دقت نمایید که Application را بجای فرم انتخاب ننمایید. حال اگر فرض کنیم که نام فرم شما Demo باشد و بانام UDemo.pas آنرا ذخیره کرده باشید. باید در فایل DLL بصورت زیر کد نویسی نمایید:
کد:
کد PHP:
library demodll;{ Important note about DLL memory managementShareMem must be thefirst unit in your library's USES clause AND your project'(selectProject-View SourceUSES clause if your DLL exports any procedures orfunctions that pass strings as parameters or function resultsThisapplies to all strings passed to and from your DLL--even those thatare nested in records and classesShareMem is the interface unit tothe BORLNDMM.DLL shared memory managerwhich must be deployed alongwith your DLLTo avoid using BORLNDMM.DLLpass string informationusing PChar or ShortString parameters. }usesSysUtils,Classes,UDemo in 'UDemo.pas' {Demo};{$R *.res}procedure ShowdemoForm;stdcall;beginDemo :=Tdemo.Create(nil);demo.Show;end;function ShowdemoFormModal:integer;stdcall;begindemo :=Tdemo.Create(nil);Result := demo.ShowModal;end;ExportsShowDemoForm,ShowdemoFormModal;beginend


دقت کنید که نام
DLL فوق DemoDll می باشد و با نام DemoDll.dpr ذخیره گردیده است.
حال بر روی فرم موجود تمام دکمه*ها و آبجکت*های مورد نظرتان را اضافه و کد نویسی کنید (اختیاری). در پایان در منو
Project گذینه Build DemoDll را انتخاب کرده و اجرا نمایید. فایلی با نام DemoDll.dll ایجاد می گردد که برای استفاده آماده است.
[B]استفاده از یک [/B]
[B]DLL[/B][B] بصورت دینامیکی[/B]
برای استفاده از یک
DLL *بصورت دینامیکی، ابتدا نام توابعی را که در فایل DLL شما موجود است بصورت زیر تعریف نمایید:

کد:
کد PHP:
unit UMain;interfaceusesWindowsMessagesSysUtilsVariantsClassesGraphicsControlsForms,DialogsStdCtrlsExtCtrls;typeTShowdemoFormModal= Function :integer;... 



دقت کنید که نام برنامه انتخابی پیش فرض Main و با نام UMain.pas ذخیره گشته است. حال برای لود کردن DLL یادشده، یک دکمه بر روی فرم قرارداده آنرا بصورت زیر کد نویسی کنید:
کد:
کد PHP:
varhndDLLHandle:THandle;ShowdemoFormModal:TShowdemoFormModal;procedure TFMain.Button1Click(SenderTObject);begintryhndDLLHandle:=LoadLibrary('Demodll.dll');if hndDLLHandle <> 0 then begin         @ShowdemoFormModal:=getProcAddress(hndDLLHandle,'ShowdemoFormModal');if addr(ShowdemoFormModal) <> nil then beginShowdemoFormModal;endelseshowmessage ('function not exists ...');endelseshowMessage('Dll Not Found!');finallyfreelibrary(hndDLLHandle);end;end



فرم شما آماده اجراست. در پایان متذکر می شوم که استفاده ار روش دینامیکی در لود کردن DLL ها باعث پایین آمدن سرعت نمایش فرم*ها و در عوض بالارفتن سرعت برنامه خواهد شد.