类似这样:
procedure ShowHuiFangform;
var
handle_dll: Thandle;
ShowhuifangForm: procedure;
begin
try
handle_dll := LoadLibrary('HuiFang_dll.dll');
if handle_dll <> null then
begin
@showhuifangform := GetProcAddress(handle_dll, 'ShowHuiFangForm');
if @ShowhuifangForm <> nil then ShowhuifangForm;
end
else
begin
showmessage('无法回放,不能调用DLL库!,请仔细检查相关设置!');
end;
finally
freelibrary(handle_dll);
end;
end;
procedure ShowHuiFangform;
var
handle_dll: Thandle;
ShowhuifangForm: procedure;
begin
try
handle_dll := LoadLibrary('HuiFang_dll.dll');
if handle_dll <> null then
begin
@showhuifangform := GetProcAddress(handle_dll, 'ShowHuiFangForm');
if @ShowhuifangForm <> nil then ShowhuifangForm;
end
else
begin
showmessage('无法回放,不能调用DLL库!,请仔细检查相关设置!');
end;
finally
freelibrary(handle_dll);
end;
end;
在DCDEV.DLL中声明为 HANDLE __stdcall RdInit(__int16 port,long baud)
你在DELPHI中先声明以下:Function RdInit(prot:integer;baud:longint):longint; stdcall;
far;external 'dcdev.dll' name 'RdInit';程序中调用如下:
icdevLong := RdInit(comInt, baudLong);DELPHI对声明比较严格,要注意。如需要例子请留EMAIL: [email protected]
chechy(chechy) 的方法在程序启动时就浪费一定的资源!
我又查了些资料,我觉得wangzh(独孤求问)的方法比较好,再次谢过!