首页 > 代码库 > Delphi Dll示例

Delphi Dll示例

//MyInt.pasunit MyInt;interface{$IFNDEF MYLIB}function MyAdd(a,b:integer):integer ;stdcall;{$ENDIF}implementation{$IFNDEF MYLIB}function MyAdd; external ‘MyLib.dll‘ name ‘MyAdd‘;{$ENDIF}end.
//MyLib.dprlibrary MyLib;{ Important note about DLL memory management: ShareMem must be the  first unit in your library‘s USES clause AND your project‘s (select  Project-View Source) USES clause if your DLL exports any procedures or  functions that pass strings as parameters or function results. This  applies to all strings passed to and from your DLL--even those that  are nested in records and classes. ShareMem is the interface unit to  the BORLNDMM.DLL shared memory manager, which must be deployed along  with your DLL. To avoid using BORLNDMM.DLL, pass string information  using PChar or ShortString parameters. }uses  SysUtils,  Classes,  MyInt in ‘MyInt.pas‘;{$R *.res}function MyAdd(a,b:integer):Integer ; stdcall;begin    result := (a + b);end;exports    MyAdd;end.

 //使用:

unit UnitMain;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls;type  TForm1 = class(TForm)    btnTestDll: TButton;    procedure btnTestDllClick(Sender: TObject);  private    { Private declarations }  public    { Public declarations }  end;var  Form1: TForm1;implementationuses    MyInt;{$R *.dfm}procedure TForm1.btnTestDllClick(Sender: TObject);begin    ShowMessageFmt(‘结果=%d‘,[MyAdd(1,2)]);end;end.

  

Delphi Dll示例