tidll参数调用约定
——————————————————————
令 传递顺序 参数删除
stdcall 从左到右 函数方面
cdecl 从右到左 调用方面
pascal 从左到右 函数方面
register 从左到右 函数方面
━━━━━━━━━━━━━━━━━━━━━━
退出过程编译时必须关闭stack_checking,因而需设置编译指示 {$s-} 。
━━━━━━━━━━━━━━━━━━━━━
//——————————dll的创建
brary mydll
{$s-}
//————————uses单元
uses
classes,stdsys, form in 'form.pas'{form};
//—————————变量声明
var
love:string;
baby:integer;
saveexit: pointer;
//—————————函数和过程
procedure myinnerproc();stdcall; //内部使用过程
begin
{添入代码}
end;
procedure myproc(var love:string);stdcall;export; //输出可以调用过程
begin
{添入代码}
end;
function myfunction(baby:integer):integer;stdcall;export;//可调用函数
begin
{添入代码}
end;
procedure libexit; far;
begin
if exitcode = wep_system_exit then
begin
{ 系统关闭时的相应处理 }
end
else
begin
{ dll卸出时的相应处理 }
end;
exitproc := saveexit; { 恢复原来的退出过程指针 }
end;
//——————————输出说明