his - dll
EDLLLoadError = class(Exception);
TShowForm = function(istr:string;var a,b,c,d,e,f,g,h,i,j :string;
var k :Integer):integer;Stdcall;
function common_data(istr:string;var a,b,c,d,e,f,g,h,i,j :string;
var k :Integer):integer;stdcall;external 'HisInterface.dll';
var
frmHISManageCenter: TfrmHISManageCenter; //HisInterface.dll
implementation
{$R *.dfm}
procedure TfrmHISManageCenter.dxBarButton13Click(Sender: TObject);
begin
Close;
end;
procedure TfrmHISManageCenter.dxBarButton39Click(Sender: TObject);
var
mainfrm,DllForm:THandle;
ShowForm:TShowForm;
testStr :string ;
testint :Integer;
a,b,c,d,e,f,g,h,i,j :string;
k :Integer;
begin
testStr := '[1|2]';
testint := common_data(testStr,a,b,c,d,e,f,g,h,i,j,k);
{mainfrm:=frmHISManageCenter.Handle;
DllForm:=LoadLibrary('HisInterface.dll');
Try
begin
if DllForm<>0 then
begin
@ShowForm:=GetProcAddress(DllForm,'common_data');
ShowForm(mainfrm,'');
end
else
begin
RaiseLastWin32Error;
end;
end;
Finally
FreeLibrary(DllForm);
end; }
end;
procedure TfrmHISManageCenter.dxBarButton40Click(Sender: TObject);
var
LibHandle:THandle;
ShowForm:TShowForm;
testStr :string ;
testint :Integer;
a,b,c,d,e,f,g,h,i,j :string;
k :Integer;
begin
testint := 2 ;
testStr := '[1|2]';
LibHandle := LoadLibrary( 'HisInterface.DLL');
try
if LibHandle = 0 then
raise EDLLLoadError.Create( '不能装载动态链接库,请确认动态链接库的存在! ');
@ShowForm := GetProcAddress(LibHandle, 'common_data');
if not (@ShowForm = nil) then
testint := ShowForm(testStr,a,b,c,d,e,f,g,h,i,j,k)
else
RaiseLastWin32Error;
ShowMessage( IntToStr(testint) );
finally
FreeLibrary(LibHandle); // Unload the DLL.
end;
end;
EDLLLoadError = class(Exception);
TShowForm = function(istr:string;var a,b,c,d,e,f,g,h,i,j :string;
var k :Integer):integer;Stdcall;
function common_data(istr:string;var a,b,c,d,e,f,g,h,i,j :string;
var k :Integer):integer;stdcall;external 'HisInterface.dll';
var
frmHISManageCenter: TfrmHISManageCenter; //HisInterface.dll
implementation
{$R *.dfm}
procedure TfrmHISManageCenter.dxBarButton13Click(Sender: TObject);
begin
Close;
end;
procedure TfrmHISManageCenter.dxBarButton39Click(Sender: TObject);
var
mainfrm,DllForm:THandle;
ShowForm:TShowForm;
testStr :string ;
testint :Integer;
a,b,c,d,e,f,g,h,i,j :string;
k :Integer;
begin
testStr := '[1|2]';
testint := common_data(testStr,a,b,c,d,e,f,g,h,i,j,k);
{mainfrm:=frmHISManageCenter.Handle;
DllForm:=LoadLibrary('HisInterface.dll');
Try
begin
if DllForm<>0 then
begin
@ShowForm:=GetProcAddress(DllForm,'common_data');
ShowForm(mainfrm,'');
end
else
begin
RaiseLastWin32Error;
end;
end;
Finally
FreeLibrary(DllForm);
end; }
end;
procedure TfrmHISManageCenter.dxBarButton40Click(Sender: TObject);
var
LibHandle:THandle;
ShowForm:TShowForm;
testStr :string ;
testint :Integer;
a,b,c,d,e,f,g,h,i,j :string;
k :Integer;
begin
testint := 2 ;
testStr := '[1|2]';
LibHandle := LoadLibrary( 'HisInterface.DLL');
try
if LibHandle = 0 then
raise EDLLLoadError.Create( '不能装载动态链接库,请确认动态链接库的存在! ');
@ShowForm := GetProcAddress(LibHandle, 'common_data');
if not (@ShowForm = nil) then
testint := ShowForm(testStr,a,b,c,d,e,f,g,h,i,j,k)
else
RaiseLastWin32Error;
ShowMessage( IntToStr(testint) );
finally
FreeLibrary(LibHandle); // Unload the DLL.
end;
end;