问一个 古老的delphi 加载动态库的有关问题

问一个 古老的delphi 加载动态库的问题?
动态加载dll动态库时,参数传递时只有第一个参数可以正确传到形参,是哪里设置的不对么?

被加载的dll代码 如下:
library minmax;
uses Dialogs,SysUtils;

function Max(var X:Integer;var Y:Integer):Integer;
var
  sss:string;
begin
  sss:=Format('max()参数1=%d,参数2=%d',[x,y]);
  ShowMessage(sss);
  if X > Y then
  begin
  ShowMessage('max返回值是X');
  Result := X;
  end
  else
  begin
  ShowMessage('max返回值是y');
  Result:= Y;
  end;
end;
function Min(var X:Integer;var Y:Integer):Integer;
var
  sss:string;
begin
  sss:=Format('min()参数1=%d,参数2=%d',[x,y]);
  ShowMessage(sss);
  if X < Y then
  begin
  ShowMessage('min返回值是X');
  Min:= X;
  end else
  begin
  ShowMessage('min返回值是y');
  Min := Y;
  end;
end;

exports 
Max,
Min,
begin
end.
这个dll静态调用的时候,正常!
可是动态加载的时候,第二个参数y,传递的总是不对啊,解决问题,追加给分!
调用dll的工程代码如下:
unit Unit1;

interface

uses
  Windows, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;

type
  TForm1 = class(TForm)
  Edit1: TEdit;
  Edit2: TEdit;
  Edit3: TEdit;
  Edit4: TEdit;
  BitBtn1: TBitBtn;
  Label1: TLabel;
  procedure BitBtn1Click(Sender: TObject);
  private
  { Private declarations }
  public
  { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);

type
  TTimeRec = record
  Second: Integer;
  Minute: Integer;
  Hour: Integer;
  end; 
TGetmax = function (var a:Integer;var b:Integer):Integer;stdcall;
TGetmin = function (var a:Integer;var b:Integer):Integer;stdcall;
var
  //handle:THandle;
  handle:Cardinal;
  a,b:Integer;
  max:TGetmax;
  min:TGetmin;
  GetTime: TGetTime;
  tp:TFarProc;
  c,d:Integer;
  Time: TTimeRec;
begin
  a:=StrToInt(Edit1.Text);
  b:=StrToInt(Edit2.Text);
  handle:=LoadLibrary('minmax.dll');
  if handle<>0 then
  begin
  @max:=GetProcAddress(handle,'Max');
  if (@max <> nil) then
  begin
  c:=max(a,b);
  end;
   
  @min:=GetProcAddress(handle,'Min');
  if @min <> nil then
  begin
  d:=min(a,b);
  end;
  Edit3.Text:=IntToStr(c);
  Edit4.Text:=IntToStr(d);
  end;
  FreeLibrary(Handle);
end;

end.

------解决方案--------------------
function Max(var X:Integer;var Y:Integer):Integer;stdcall;

function Min(var X:Integer;var Y:Integer):Integer;stdcall;

------解决方案--------------------
探讨
function Max(var X:Integer;var Y:Integer):Integer;stdcall;

function Min(var X:Integer;var Y:Integer):Integer;stdcall;