unit Unit1;
interface
uses
? Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
? Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
? TForm1 = class(TForm)
? ? Edit1: TEdit;
? ? Label1: TLabel;
? ? Button1: TButton;
? ? procedure Button1Click(Sender: TObject);
? private
? ? { Private declarations }
? public
? ? { Public declarations }
? end;
? SendPatientInfo = procedure(sParam:ansistring); stdcall;//無(wú)回參用procedure,有回參用function,我也不知道為什么
var
? Form1: TForm1;
implementation
{$R *.dfm}
var
? FDLL130Handle: THandle;
? DLL130Name: string = 'D:\demo\delphi\Metabolism.dll';
? bStop: boolean;
procedure TForm1.Button1Click(Sender: TObject);
var
? sendPInf:SendPatientInfo;
begin
? FDLL130Handle := Loadlibrary(Pchar(DLL130Name));
? if FDLL130Handle = 0 then
? begin
? ? ShowMessage(DLL130Name+'不存在');
? Exit;
? end;
? @sendPInf := GetProcAddress(FDLL130Handle, 'SendPatientInfo');
? if @sendPInf = nil then
? begin
? ? ShowMessage('SendPatientInfo 函數(shù)無(wú)法獲得!');
? end else
? begin
? ? sendPInf(pchar(Edit1.Text));
? end;
end;
end.