his - dll

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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值