Пример DLL
Без модулей
Во-первых, "скелет" DLL, которую вы хотели, сохраняете как DLLFRAME.DPR:
{---------------------DLLFRAME.DPR--------------------------} library Dllframe;
uses WinTypes;
function GetString : string ; export ; begin
Result := 'Привет из DLL!' ; end;
exports
GetString;
begin end. {-----------------------------------------------------------}
|
Теперь напишем вызывающую программу и сохраним ее как DLLCALL.DPR:
{---------------------DLLCALL.DPR---------------------------} program Dllcall;
uses
Dialogs;
{$R *.RES}
function GetString : string ; far ; external 'DLLFRAME' ;
begin
MessageDlg( GetString, mtInformation, [ mbOK ], 0 ) ; end. {-----------------------------------------------------------}
|
С модулями
Код вызывающей программы, сохраните ее как DLLCALL.DPR:
{---------------------DLLCALL.DPR---------------------------} program Dllcall;
uses
Dialogs;
{$R *.RES}
function GetString : string ; far ; external 'MyDLL' ; begin MessageDlg( GetString, mtInformation, [ mbOK ], 0 ) ; end. {-----------------------------------------------------------}
|
"скелет" DLL, которую вы хотели, сохраняете как DLLFRAME.DPR:
{---------------------DLLFRAME.DPR--------------------------} library Dllframe;
uses DLLUnit;
exports
GetString;
begin end. {-----------------------------------------------------------}
|
Модуль, который мы сохраняем как dllunit.pas:
{---------------------dllunit.pas--------------------------}
unit DLLUnit; interface
uses WinTypes;
function GetString: string; export;
implementation
function GetString: string; begin
GetString := 'Привет из DLL!' ; end ;
begin end. {-----------------------------------------------------------}
|
|