在dll delphi中调用一个函数

时间:2012-03-13 18:43:11

标签: delphi delphi-xe2

我想知道我是否可以从另一个Delphi DLL中调用Delphi中的DLL函数。

示例:

我的A.dll是这样的:

library circle;

 uses
   SysUtils, Classes, Math;

 {$R *.res}

 function CircleArea(const radius : double) : double; stdcall;
 begin

 end;

 exports CircleArea;

 begin
 end.

B.DLL是一个黑盒子,我只能访问一个函数:

function calculdiameter(const radius : double) : double; stdcall;

如何从b.dll访问calculdiameter以将类型double修改为十进制?

1 个答案:

答案 0 :(得分:5)

欢迎您从另一个DLL调用DLL函数。只需声明函数:

function calculdiameter(const radius : double) : double; stdcall; external 'b.dll';

然后叫它:

function CircleArea(const radius : double) : double; stdcall;
begin
  // I don't know why you'd call this function here, but you can if you want to.
  Calculdiameter(radius);
  Result := Pi * radius * radius;
end;

如你所说,B.DLL是一个黑盒子。您可以调用它导出的函数,但如果它导出的内容不是您想要的,那么您需要在其他地方找到您想要的内容。