unit ApplicationForm; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TfAppMain = class(TForm) Button1: TButton; Memo1: TMemo; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var fAppMain: TfAppMain; implementation {$R *.dfm} procedure TfAppMain.Button1Click(Sender: TObject); var LDLLHandle: HModule; LShowProc: TProcedure; begin LDLLHandle := LoadLibrary('TestDLL.dll'); if LDLLHandle <> 0 then begin try LShowProc := GetProcAddress(LDLLHandle, 'ShowDLLForm'); if Assigned(LShowProc) then begin LShowProc; end else ShowMessage('The ShowDLLForm procedure could not be found in the DLL.'); finally FreeLibrary(LDLLHandle); end; end else ShowMessage('The DLL was not found. Please compile the DLL before running this application.'); end; end.